我是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中编写的,它处理我的应用程序的核心(多项选择题)。
我的问题是:
感谢您的回答。
答案 0 :(得分:4)
Django是模块化的,因此您可以编写一个单独的帐户或用户管理应用程序,可以处理用户创建和管理。
在这种情况下,您将register
的代码放在帐户应用的views.py
中。
您可以直接保存UserCreationForm
,它将为您提供用户对象。
示例:
...
form = UserCreationForm(request.POST)
if form.is_valid():
user = form.save()
...