我想在我的IPN视图中创建和删除用户。
django.contrib.auth.models import User
或者这一切都应该在models.py中完成吗?如果是这样,我该怎么做?
不确定它在技术上是错误的还是只是坏的风格。
非常感谢!
答案 0 :(得分:5)
我认为最佳做法是使用django.contrib.auth.get_user_model()
代替。
from django.contrib.auth import get_user_model
...
User = get_user_model()
这样一来,如果你以后决定包含一个扩展或覆盖内置身份验证模型的django应用程序(它还避免了一类与依赖循环相关的错误),事情就不会中断。
答案 1 :(得分:2)
是的,在views.py
中使用它是正确的:
你可以获得像paulo scardine
这样的用户模型,即:
from django.contrib.auth import get_user_model
User = get_user_model()
现在创建用户:
User.objects.create_user(username='user2', password='pass')
现在删除用户:
建议您将
is_active
标记设置为False而不是删除帐户;这样,如果您的应用程序有任何外键给用户,外键不会中断。doc
user_rem=User.objects.get(username='user2')
user_rem.is_active=False
user_rem.save()