Django的用户登录和注册
能成功登录和注册并实现页面之间的跳转
前提:能成功安装基础的Django
创建应用并添加到项目中
python .\manage.py startapp user
创建存放模板的目录并添加到项目中
欢迎界面
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>陈十一yi的主页</title>
</head><body><h1>欢迎登录</h1><h3>您好!欢迎您,{{name}}</h3></body>
</html>
用户登录界面
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>陈十一yi-用户登录</title>
</head><body><form method="POST" action="/login/">{%csrf_token%} 用户名:<input type="text" name="username" /><br/> <br/> 密 码:<input type="password" name="password" /><br/><button type="submit">登录</button> <a href="/reg/">注册新用户</a>{{ msg }}</form>
</body></html>
注册界面
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>用户注册</title>
</head><body><form method="POST" action="/reg/">{%csrf_token%} 用户名:<input type="text" name="username" /><br/>密 码:<input type="password" name="password" /><br/> 邮 箱:<input type="text" name="email" /><br/><button type="submit">注册</button> {{ msg }}</form>
</body></html>
定义视图
from django.shortcuts import render,redirect
from django.contrib.auth.models import User
from django.contrib.auth import login,logout,authenticate
# Create your views here.
#登录
def loginView(request):if request.method=="POST":username=request.POST.get("username")password=request.POST.get("password")if User.objects.filter(username=username):user=authenticate(username=username,password=password)if user:if user.is_active:login(request,user)# msg="登录成功"request.session['status']=Truerequest.session['uname']=usernamerequest.session.set_expiry(300)return redirect("/index/")else: msg="用户名密码错误"else:msg="用户名不存在"return render(request,"login.html",locals()) #注册
def regView(request):if request.method=="POST":username=request.POST.get("username")password=request.POST.get("password")email=request.POST.get("email")if User.objects.filter(username=username):msg="用户名已存在"else:user=User.objects.create_user(username=username,password=password,email=email)msg="注册成功"return redirect("/login/")return render(request,"register.html",locals())##主页
def index(request):return render (request,"index.html",{"name":request.session.get('uname')})
添加路由
from django.contrib import admin
from django.urls import path
from user.views import loginView,regView,indexurlpatterns = [path('admin/', admin.site.urls),path('login/',loginView),path('reg/',regView),path('index/',index),
]
验证
web登录127.0.0.1:8000/login
用创建的用户没有点注册即可创建用户
注册新用户
登录新用户
Django的用户登录和注册相关推荐
- Django用户登录与注册系统
1.1.创建项目和app django-admin startproject mysite_loginpython manage.py startapp login 1.2.设置时区和语言 Djang ...
- django Auth用户登录
django Auth用户登录 from apps.子应用名.models import UserDetails, User from django.contrib import auth from ...
- PHP+Mysql 实现用户登录,注册界面
目标: 实现用户的登录 .注册 .修改密码.重置密码.添加书签,显示书签,删除书签 等功能 进一步目标: 实现对 用户输入信息的控制,具体表现在 对注册信息.登录信息的 的过滤,具有简单的防sql注入 ...
- 使用PHP实现用户登录和注册的功能
登陆界面 login.PHP [html] view plaincopy <form action="logincheck.php" method="post&qu ...
- jsp java servlet_jsp+java ,servlet如何实现用户登录和注册页面
jsp+java servlet实现简单用户登录(使用数据库,包括注册页面) 功能介绍 本项目通过使用jsp和servlet实现简单的用户登录.主要逻辑为:如果用户不存在,则首先进行注册(注册信息同步 ...
- 基于IO流读取的 完成 用户登录,注册,修改,查看所有用户,删除功能
Controller import java.util.Scanner;/*** 视图层* 完成用户登录,注册,修改,删除功能*/ public class Controller {/*** 字符输入 ...
- MD5算法原理简要介绍并采用C#应用在桌面应用系统的用户登录与注册中
MD5算法原理简要介绍并采用C#应用在桌面应用系统的用户登录与注册中 接上文,本文简要介绍一下MD5加密算法的原理,并采用C#实现MD5算法的加密与解密过程,将这一实现过程应用在我自己开发的桌面办公应 ...
- 用python写注册登录界面web_用Python实现web端用户登录和注册功能
这篇文章主要介绍了用Python实现web端用户登录和注册功能的教程,需要的朋友可以参考下 用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通 ...
- python123注册登录_用Python实现web端用户登录和注册功能的教程
用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_MD5 = re.compile(r'^[0-9 ...
最新文章
- 154 万 AI 开发者用数据告诉你,中国 AI 如何才能弯道超车?| 中国 AI 应用开发者报告...
- hive快还是mysql快_HBase相对Hive查询速度快的对比
- 计算机5G英语文献,5G移动网络外文文献翻译2018中英文.docx
- mysql测试spring事务是否生效
- Nginx开发从入门到精通
- DHTML【5】--HTML
- Keil | 使用Register Windows测量函数的执行时间
- Linux入门——文本处理三剑客之gnu awk
- 类的加载、连接和初始化
- 兔子繁殖问题:一对兔子从出生后第三个月开始,每月生一对小兔子。小兔子到第三个月又开始生下一代小兔子。假若兔子只生不死,一月份抱来一对刚出生的小兔子,问一年中每个月各有多少对兔子(C++)(迭代法)
- cocos2d-x 从win32到android移植的全套解决方案
- Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs
- 注册石墨文档无法连接服务器,石墨文档没有访问权限是怎么回事?权限解决方法看这里!...
- 华硕e202s安装linux系统,华硕笔记本E202S原装win10系统可以改win7吗?
- 2019年暑期集训总结
- zip压缩包带有密码如何解压
- 【二分法】计蒜客习题 切割钢管
- 福大计算机专硕扩招,【今日话题】福州大学数计学院研究生又又又扩招?什么是拟录取补录?...
- fgsea进行GSEA富集分析
- sql镶嵌查询_标准SQL嵌套查询语句
热门文章
- 易观千帆 | 2022年12月银行APP月活跃用户规模盘点
- 程序猿 常规SQL面试题
- 焱融云超融合+IBM云管平台=新中新IaaS新模式
- 熊猫图表 连接mysql_自定义熊猫图和图表的5种简单方法
- 舟曲县中等专业学校计算机专业的座位,天津现代职业技术学院赴甘南进行对口帮扶工作...
- ixwebhosting优缺点分析
- 气体净化与特种气体除杂——吸附
- 大多数程序员缺少钻研精神
- /usr/bin/ld:找不到 -lboost_serialization
- 百度蜘蛛问题解析说明