Django登陆注册页面的实现

  • 视图函数
# 对get和post的两种方式一般用类视图的方式
# 第一步获取表单,看表单是从项目中传来还是从前端中传来
# 如果从项目中来,不需要传入值
# 入股从前端中来要看是get方式还是post方式传进来方式参数
# 把表单信息存入变量中
# 对前端传来的数据存入数据库中
class RegisterTest(View):
    def get(self, request):
        form = RegisterForm()  # 把form表单传到视图中用变量的形式传入模板中
        return render(request, 'form_session/register.html', context={
    
    'form': form})

    def post(self, request):
        form = RegisterForm(request.POST)  # 通过post方式前端传来的数据,获取表单数据
        if form.is_valid():  # 判断数据是否合法,True合法
            # 保存用户提交的数据
            username = form.cleaned_data.get('username')
            pwd = form.cleaned_data.get('password')  # 前端post方式传来的密码
            pwd_confirm = form.cleaned_data.get('password_confirm')  # 前端传来的确定密码
            email = form.cleaned_data.get('email')  # 前端传来的邮箱
            if pwd == pwd_confirm:  # 后端判断两次密码是否一样
                UserModel.objects.create(username=username, password=pwd, email=email)  # 把前端传来的三个值存入数据库中
                return HttpResponse('注册成功,欢迎您使用我们的网站!')
            else:
                return HttpResponse('注册失败,您输入的两次密码不一致!')
        else:
            return HttpResponse('注册失败,请输入合法的数据!')
  • 模板文件

注册页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册页面</title>
</head>
<body>
<form action="{% url 'register' %}" method="post">
    {
    
    % csrf_token %}
{
    
    #    p标签换行#}
    {
    
    {
    
     form.as_p }}
    <input type="submit" value="注册">
</form>

</body>
</html>

注册页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册页面</title>
</head>
<body>
<form action="{% url 'register' %}" method="post">
    {
    
    % csrf_token %}
{
    
    #    p标签换行#}
    {
    
    {
    
     form.as_p }}
    <input type="submit" value="注册">
</form>

</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_53075298/article/details/120477915