Django实现用户登录注册 您所在的位置:网站首页 django注册流程图 Django实现用户登录注册

Django实现用户登录注册

2024-05-18 15:20| 来源: 网络整理| 查看: 265

本文将会介绍小白如何完成一个用户登录注册系统 新建一个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 实验室设备网 版权所有