Python 从0开始 一步步基于Django创建项目(11)注册新用户-修改C:DPythonPython310studysnap_gramusers路径下的views.py

时间:2024-03-30 22:21:55

编写URL对应的视图函数register。

def register(request):
    if request.method != 'POST':
        form = UserCreationForm()
    else:
        # 处理填写好的表单
        form = UserCreationForm(data=request.POST)

        if form.is_valid():
            new_user = form.save()
            # 让用户自动登录,再重定向到主页。
            login(request,new_user)
            return redirect('city_infos:index')

    # 显示空表单或指出表单无效。
    context = {'form':form}
    return render(request,'registration/register.html', context)

该函数中使用了UserCreationForm表单类,以及login()方法。需要再文件中import这两项内容。

from django.contrib.auth import login
from django.contrib.auth.forms import UserCreationForm