Django实现友好的注册界面【带提示错误信息】

文章目录

题目

如何使用Django实现友好的注册界面

效果图

在这里插入图片描述

代码

register.html页面代码

<body>
    <form action="/register/" method="post">
        <h1>注册页面</h1>
        <input name="username" type="text" placeholder="请输入用户名" value="{{username}}" onclick="dispearFun1()">
        <p class="warning" id="warn1">{{content2}}</p>
        <input name="password1" type="password" placeholder="请输入密码" onclick="dispearFun2()">
        <p class="warning" id="warn2" >{{content1}}</p>
        <input name="password2" type="password" placeholder="请再次输入密码">
        <p></p>
        <input id="register-btn" type="submit" value="注册" />
    </form>
    <script type="text/javascript" src="../static/script/register.js"></script>
</body>

首先实现的功能

  1. 必须输入用户名,否则提示错误
    在这里插入图片描述
    这个功能是在views.py中实现的
if len(username) not in range(5, 11):
     return render(request, 'register.html', {'content2': "用户名长度必须在5~10之间"})

利用render返回到register.html,并且保存提示信息content2在register.html中显示错误信息。

至于让错误信息消失则是借助dispearFun1(),它是在js页面中实现,逻辑是当发现点击input输入框时,如果< p>< /p>内有内容就令其消失

function dispearFun1(){	
	// 提示错误,打印输出
    console.log("----")
	document.getElementById("warn1").innerHTML=" ";
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
以下是一个示例代码,实现用户注册并将注册信息存储到数据库中,并在注册成功后提示用户注册成功。 1. 定义用户模型 在 Django 中,可以使用内置的 `User` 模型来处理用户认证。如果需要增加一些额外的字段,可以通过继承 `AbstractBaseUser` 类来自定义用户模型。 ```python from django.db import models from django.contrib.auth.models import AbstractBaseUser class MyUser(AbstractBaseUser): email = models.EmailField(unique=True) first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) USERNAME_FIELD = 'email' def __str__(self): return self.email ``` 2. 创建注册表单 可以使用 Django 的表单类来创建用户注册表单,以下是一个示例: ```python from django import forms from django.contrib.auth.forms import UserCreationForm from .models import MyUser class MyUserCreationForm(UserCreationForm): class Meta: model = MyUser fields = ['email', 'first_name', 'last_name', 'password1', 'password2'] ``` 3. 处理注册请求 在视图函数中处理注册请求,将表单数据存储到数据库中,并在注册成功后提示用户注册成功。以下是一个示例: ```python from django.shortcuts import render, redirect from .forms import MyUserCreationForm from django.contrib import messages def register(request): if request.method == 'POST': form = MyUserCreationForm(request.POST) if form.is_valid(): form.save() messages.success(request, '注册成功!') return redirect('login') else: form = MyUserCreationForm() return render(request, 'registration/register.html', {'form': form}) ``` 在以上代码中,当用户提交表单时,会使用 `save()` 方法将表单数据存储到数据库中。如果表单验证不通过,则会重新显示注册页面,并展示错误信息。如果注册成功,则会重定向到登录页面,并在页面提示用户注册成功。 在 HTML 模板中,可以使用 Django 的消息框架来展示成功信息。以下是一个示例: ```html {% if messages %} <ul class="messages"> {% for message in messages %} <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li> {% endfor %} </ul> {% endif %} ``` 以上就是一个简单的用户注册的示例。在实际项目中,可能需要对表单进行更详细的验证和处理,以及展示更加友好提示信息。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

365JHWZGo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值