我有一个额外字段的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)
# 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
Django 从 3.1 版本开始支持异步视图,因此它非常适合对外部 HTTP API 等非阻塞调用(例如使用aiohttp)。
\n我经常看到以下代码示例,我认为它在概念上是错误的(尽管它工作得很好):
\nimport 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")\nRun 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
这同样适用于 httpx:
\n\n\n另一方面,客户端实例使用 HTTP 连接池。这意味着当您向同一主机发出多个请求时,客户端将重用底层 TCP 连接,而不是为每个请求重新创建一个连接。
\n\n
有什么方法可以aiohttp.ClientSession在 Django 中全局实例化,以便可以在多个请求之间共享该实例吗?不要忘记必须ClientSession在正在运行的事件循环中创建(为什么在事件循环之外创建 ClientSession …
我想覆盖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
我使用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)
但这对我不起作用,或者我做错了事,非常感谢一些帮助人员,谢谢。