Django实现用户登录注册 | 您所在的位置:网站首页 › django注册流程图 › Django实现用户登录注册 |
本文将会介绍小白如何完成一个用户登录注册系统
新建一个Django项目,名字为login_register,并且使用命令manage.py startapp.User(名字自己随便起)
最终django项目结构如下图所示
forms.py是之前通过form表单写的注册功能,可以忽略这个py文件 from django.urls import path from User import views urlpatterns = [ # path('admin/', admin.site.urls), path('login/',views.login,name ='login'), path('index/',views.index,name = 'index'), path('register/',views.register,name = 'register'), ] urls.py 登录登录 {% csrf_token %}用户: 密码:
{{error}} login.html 注册新用户注册 {% csrf_token %}用户: 邮箱: 密码:
{{error_name}} register.html Title 欢迎登陆 index.html from django.db import models # Create your models here. class WangUser(models.Model): username = models.CharField(max_length=32,unique=True) # 用户名 password = models.CharField(max_length=32) # 密码 email = models.CharField(max_length=32) # 邮箱 User/models.py from django.shortcuts import render, redirect,HttpResponse from django.shortcuts import render # Create your views here. from User import models from .forms import UserReg def login(request): if requesthod == 'POST': username = request.POST.get('username') password = request.POST.get('password') obj_user = models.WangUser.objects.filter(username=username, password=password) if obj_user: return redirect('index') error = '用户名和密码错误' return render(request, 'login.html', locals()) def index(request): return render(request, 'index.html') def register(request): if requesthod == 'POST': username = request.POST.get('username') email = request.POST.get('email') password = request.POST.get('password') user_list = models.WangUser.objects.filter(username=username) error_name = [] if user_list: error_name = '用户名已经存在' return render(request,'register.html',{'error_name':error_name}) else: username = models.WangUser.objects.create(username=username,password=password,email=email) username.save() return redirect('login') return render(request,'register.html') User/views.py 切记配置好settings中的数据库,我用的是mysql,配置好后在数据库中创建相应的表。 settings Mysql设置代码 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 使用mysql数据库的都是这个,不变 'NAME': 'XXXXX', # 使用的数据库名称 'USER': 'XXXX', # 登录mysql数据库的用户名称 'PASSWORD': 'XXXXXX', # 登录mysql数据库的用户密码 'HOST': '127.0.0.1', # 表明使用的是本地mysql数据库 'PORT': '3306', # 端口号 'OPTIONS': {'init_command': 'SET default_storage_engine=INNODB;'} # 指明innodb设不设置都可以,视情况而定 } } 最后makemigration和migrate迁移数据库后即可 接下来测试一下账号Joker 邮箱[email protected] 密码123456 点击注册后会跳转到登录界面 咱们现在回到数据库看看有没有咱们刚才注册的数据 然后登陆
再次注册相同的账号
会显示用户名已经存在,我们到login界面,输入一个错误的账号密码
所有功能完成,登录注册界面就很简约,重要就是逻辑方面,前端就不深做了。
|
CopyRight 2018-2019 实验室设备网 版权所有 |