Sau*_*yal 5 python django object
我搜索过,但找不到正确的答案。目前在 django 中,我们有三种方法可以使用自定义管理器创建用户 -
1)通过创建对象实例并调用save()它-
u = User(name="some_name", password="some_password")
u.save()
Run Code Online (Sandbox Code Playgroud)
2)通过呼叫create()经理-
u = User.objects.create(name="some_name", password="some_password")
Run Code Online (Sandbox Code Playgroud)
3)通过呼叫create_user()经理-
u = User.objects.create_user(name="some_name", password="some_password")
Run Code Online (Sandbox Code Playgroud)
诸如它们在内部如何工作以及它们如何相似和不同之类的信息将非常有帮助。
方法 1) 和 2) 是创建模型实例的通用方法。他们不做任何特定于User模型的事情。
这意味着您设置为密码的值不会被散列,而是按原样保存。Django 不会将 is 识别为适当加盐和散列的密码,您将无法登录。
要正确设置密码,请使用User.set_password():
u = User(name="some_name")
u.set_password("some_password")
u.save()
Run Code Online (Sandbox Code Playgroud)
请注意,如果没有额外的数据库查询,您不能对方法 2) 执行相同的操作。
方法 3) 是一个方便的函数,它处理User模型的所有细节,比如对密码进行哈希处理。
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |