Django项目--用户注册(个人练手)
from django.contrib.auth.models import User
from django.contrib import messages
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
@login_required
def register(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
email = request.POST['email']
# 检查用户名是否已存在
if User.objects.filter(username=username).exists():
messages.error(request, 'Username is taken')
else:
user = User.objects.create_user(username=username, password=password, email=email)
user.save()
messages.success(request, 'Registration successful')
return redirect('home')
return render(request, 'register.html')
这段代码首先导入了必要的Django模块,并使用了login_required
装饰器来确保只有登录用户可以访问注册页面。在POST请求中,它会创建一个新用户并保存到数据库,如果用户名已存在则显示错误消息。最后,它将成功消息添加到请求的消息框架中并重定向到主页。注意,这里假设已经有一个名为'home'的视图处理主页的请求。
评论已关闭