小编ill*_*nan的帖子

使用django-allauth保存自定义用户模型

我有一个额外字段的django 自定义用户模型 MyUser:

# models.py
from django.contrib.auth.models import AbstractUser

class MyUser(AbstractUser):
    age = models.PositiveIntegerField(_("age"))

# settings.py
AUTH_USER_MODEL = "web.MyUser"
Run Code Online (Sandbox Code Playgroud)

我也按照这些说明自定义all-auth 注册表单类:

# forms.py
class SignupForm(forms.Form):
    first_name = forms.CharField(max_length=30)
    last_name = forms.CharField(max_length=30)
    age = forms.IntegerField(max_value=100)

    class Meta:
        model = MyUser

    def save(self, user):
        user.first_name = self.cleaned_data['first_name']
        user.last_name = self.cleaned_data['last_name']
        user.age = self.cleaned_data['age']
        user.save()

# settings.py
ACCOUNT_SIGNUP_FORM_CLASS = 'web.forms.SignupForm'
Run Code Online (Sandbox Code Playgroud)

提交后SignupForm(属性的字段MyUser.age呈现为corectly),我收到此错误:

/ accounts/signup /的完整性错误
(1048,"列'年龄'不能为空")

存储自定义用户模型的正确方法是什么?

django-allauth:0.12.0; django:1.5.1; Python 2.7.2

python django django-models django-allauth

6
推荐指数
1
解决办法
7544
查看次数

如何在 Django 异步视图之间共享(初始化和关闭)aiohttp.ClientSession 以使用连接池

Django 从 3.1 版本开始支持异步视图,因此它非常适合对外部 HTTP API 等非阻塞调用(例如使用aiohttp)。

\n

经常看到以下代码示例,我认为它在概念上是错误的(尽管它工作得很好):

\n
import aiohttp\nfrom django.http import HttpRequest, HttpResponse\n\nasync def view_bad_example1(request: HttpRequest):\n    async with aiohttp.ClientSession() as session:\n        async with session.get("https://example.com/") as example_response:\n            response_text = await example_response.text()\n            return HttpResponse(response_text[:42], content_type="text/plain")\n
Run Code Online (Sandbox Code Playgroud)\n

此代码ClientSession为每个传入请求创建一个,效率低下。aiohttp然后不能使用例如连接池。

\n
\n

不要\xe2\x80\x99t为每个请求创建一个会话。您很可能需要每个应用程序有一个会话来共同执行所有请求。

\n

来源:https ://docs.aiohttp.org/en/stable/client_quickstart.html#make-a-request

\n
\n

这同样适用于 httpx:

\n
\n

另一方面,客户端实例使用 HTTP 连接池。这意味着当您向同一主机发出多个请求时,客户端将重用底层 TCP 连接,而不是为每个请求重新创建一个连接。

\n

来源:https://www.python-httpx.org/advanced/#why-use-a-client

\n
\n

有什么方法可以aiohttp.ClientSession在 Django 中全局实例化,以便可以在多个请求之间共享该实例吗?不要忘记必须ClientSession在正在运行的事件循环中创建(为什么在事件循环之外创建 ClientSession …

python django python-asyncio aiohttp

4
推荐指数
1
解决办法
1519
查看次数

如何在django admin change_list模板中获取该对象

我想覆盖django admin change_list页面,但我无法找到如何获取实际对象,以便我可以访问像 object.name

在模板中,他们有这个代码

<tr >{% for item in result %}{{ item }}{% endfor %}</tr>

我可以使用的实际对象在哪里

编辑:

看起来就像result行和项目是列.我想要类似的东西result.pk

如果结果,这将产生列表

https://github.com/django/django/blob/master/django/contrib/admin/templatetags/admin_list.py#L175

python django

3
推荐指数
1
解决办法
2675
查看次数

如何设置CMD的默认透明度?

我使用Windows 10,每次打开命令行时,都必须重新调整所做的设置,因为默认设置不允许我更改透明度值。

显然,我必须修改regedit文件。经过研究,我发现了下一个HKEY配置:

[HKEY_CURRENT_USER\Console]
"WindowAlpha"=dword:000000c8
[HKEY_CURRENT_USER\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe]
"WindowAlpha"=dword:000000c8

[HKEY_CURRENT_USER\Console\%SystemRoot%_SysWOW64_WindowsPowerShell_v1.0_powershell.exe]
"WindowAlpha"=dword:000000c8
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用,或者我做错了事,非常感谢一些帮助人员,谢谢。

windows cmd

2
推荐指数
1
解决办法
890
查看次数