如何正确使用Django UserCreationForm

2024-04-19 09:57:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的Django,刚刚开始我的第一个网站。我正在尝试为新用户设置注册。

我使用内置视图登录和注销,但没有注册,在文档中,它说我应该使用内置表单:UserCreationForm。

我的观点是:

def register(request):
if request.method =='POST':
    form = UserCreationForm(request.POST)
    if form.is_valid():
        user = User.objects.create_user(form.cleaned_data['username'], None, form.cleaned_data['password1'])
        user.save()
        return render_to_response('QCM/index.html') # Redirect after POST
else:
    form = UserCreationForm() # An unbound form

return render_to_response('register.html', {
    'form': form,
},context_instance=RequestContext(request))

它工作得很好,但我不满意,因为这段代码是在views.py中编写的,它处理我的应用程序的核心(多项选择问题)。

我的问题是:

  • 这是使用UserCreationForm的正确方法吗
  • 我能把这个代码放在哪里,这样它就可以和 我的应用程序

谢谢你的回答。


Tags: toformregisterdatareturnifresponserequest
1条回答
网友
1楼 · 发布于 2024-04-19 09:57:37
  1. Django是模块化的,因此您可以编写一个单独的帐户用户管理应用程序来处理用户创建、管理。 在这种情况下,您将register的代码放在accounts应用程序的views.py中。

  2. 您可以直接保存UserCreationForm,它将为您提供用户对象。

示例:

...
form = UserCreationForm(request.POST)
if form.is_valid():
   user = form.save()
...

相关问题 更多 >