Django--登录实例
1、准备工作
创建必要的目录和文件,导入js,css,bootstrap等,目录结构如下:
2、配置文件添加static路径
settings.py
1
2
3
4
|
STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static' ), ) |
3、引用文件(js\css\bootstrap)
login.html
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>登录</title> <link rel= "stylesheet" href= "/static/plugin/bootstrap/css/bootstrap.css" > <link rel= "stylesheet" href= "/static/css/common.css" > </head> <body> <script type= "text/javascript" src= "/static/js/jquery-2.1.4.min.js" ></script> <script type= "text/javascript" src= "/static/plugin/bootstrap/js/bootstrap.js" ></script> </body> </html> |
4、在bootstrap网页中随便找一个登录框
login.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<form class = "form-horizontal" > <div class = "form-group" > < label for = "inputEmail3" class = "col-sm-2 control-label" >Email</ label > <div class = "col-sm-10" > <input type= "email" class = "form-control" id= "inputEmail3" placeholder= "Email" > </div> </div> <div class = "form-group" > < label for = "inputPassword3" class = "col-sm-2 control-label" >Password</ label > <div class = "col-sm-10" > <input type= "password" class = "form-control" id= "inputPassword3" placeholder= "Password" > </div> </div> <div class = "form-group" > <div class = "col-sm-offset-2 col-sm-10" > <button type= "submit" class = "btn btn-default" >Sign in </button> </div> </div> </form> |
5、添加路由
urls.py
1
2
3
4
5
|
from app01 import views urlpatterns = [ url(r '^admin/' , admin.site.urls), url(r '^login/' , views.login), ] |
app01/views.py
1
2
|
def login(request): return render(request, 'login.html' ) |
6、form表单提交到的地方
login.html
1
|
<form class = "form-horizontal" action= "/login/" > |
7、input设置name属性
login.html
1
2
|
<input type= "email" class = "form-control" name= "email" placeholder= "Email" > <input type= "password" class = "form-control" name= "pwd" placeholder= "Password" > |
8、定义表单提交的方式:method=‘post’
login.html
1
|
<form class = "form-horizontal" action= "/login/" method= "post" > |
9、判断用户请求方式,修改login函数
如果是get请求,返回login.html页面
如果是post请求,检验用户输入是否正确,对了就跳转,反之就提示错误
views.py
1
2
3
4
5
6
7
8
9
10
11
|
from django.shortcuts import render from django.shortcuts import redirect def login(request): if request.method == 'POST' : input_email = request.POST[ 'email' ] input_pwd = request.POST[ 'pwd' ] if input_email == 'user1@qq.com' and input_pwd == '123' : else : return render(request, "login.html" ,{ "status" : "用户名密码错误" }) return render(request, 'login.html' ) |
10、在提交按钮的后面加入错误提示的span标签
login.html
1
2
|
<button type= "submit" class = "btn btn-default" >Sign in </button> <span style= "color: red" >{{ status }}</span> |
11、暂时屏蔽表单提交的403错误(以后跨站请求伪造的时候会解决)
settings.py
1
2
3
4
5
6
7
8
9
10
|
MIDDLEWARE_CLASSES = [ 'django.middleware.security.SecurityMiddleware' , 'django.contrib.sessions.middleware.SessionMiddleware' , 'django.middleware.common.CommonMiddleware' , # 'django.middleware.csrf.CsrfViewMiddleware' , #把此行注释 'django.contrib.auth.middleware.AuthenticationMiddleware' , 'django.contrib.auth.middleware.SessionAuthenticationMiddleware' , 'django.contrib.messages.middleware.MessageMiddleware' , 'django.middleware.clickjacking.XFrameOptionsMiddleware' , ] |
12、验证结果
Django--登录实例的更多相关文章
- Django:用户登录实例
Django:用户登录实例 一.源代码 1,login.html代码(登录界面): <!DOCTYPE html> <html lang="zh-CN"> ...
- Django 小实例S1 简易学生选课管理系统 6 实现登录逻辑
Django 小实例S1 简易学生选课管理系统 第6节--实现登录逻辑 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 1 业务逻辑 本教程第四节里 ...
- Django 小实例S1 简易学生选课管理系统 4 实现登录页面
Django 小实例S1 简易学生选课管理系统 第4节--实现登录页面 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新的额外知识点: ...
- Django 小实例S1 简易学生选课管理系统 8 CSS样式优化
Django 小实例S1 简易学生选课管理系统 第8节--CSS样式优化 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 前面的几节下来,用户模块基 ...
- Django 小实例S1 简易学生选课管理系统 7 修改个人信息
Django 小实例S1 简易学生选课管理系统 第7节--修改个人信息 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 用户模块除了注册登录之外,还 ...
- Django 小实例S1 简易学生选课管理系统 3 创建用户模型(model)
Django 小实例S1 简易学生选课管理系统 第3节--创建用户模型(model) 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新 ...
- Django 小实例S1 简易学生选课管理系统 5 实现注册功能
Django 小实例S1 简易学生选课管理系统 第5节--实现注册功能 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新的额外知识点: ...
- Django 小实例S1 简易学生选课管理系统 0 初步介绍与演示
Django 小实例S1 简易学生选课管理系统 第0章--初步介绍与演示 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 1 初步介绍 先介绍下这个 ...
- SSO之CAS单点登录实例演示
本文目录: 一.概述 二.演示环境 三.JDK安装配置 四.安全证书配置 五.部署CAS-Server相关的Tomcat 六.部署CAS-Client相关的Tomcat 七. 测试验证SSO 一.概述 ...
- Struts2自定义拦截器Interceptor以及拦截器登录实例
1.在Struts2自定义拦截器有三种方式: -->实现Interceptor接口 public class QLInterceptorAction implements Interceptor ...
随机推荐
- test20181219(期末考试)
Written with StackEdit. \(noip\)爆炸后就好久没考试了...结果今天又被抓去,感觉很慌啊... 考完了.过来填坑. T1 Description 使得\(x^x\)达到或 ...
- 列表推导式,两个for循环的例子
[a for a in alist for b in blist if a>b] for i in alist,blist: print(i) >> alist[] >> ...
- fn project 运行时配置选项
Env Variables Description Default values DB_URL The database URL to use in URL format. SeeDatabases ...
- java的内存管理 对象的分配与释放
分配 程序员通过new为每个对象申请内存空间(基本类型除外),所有对象都在堆中分配空间:释放:对象的释放是由垃圾回收机制决定和执行的. Java内存分为两种:栈内存和堆内存 (1)在函数中定义的基本类 ...
- 【openCV学习笔记】【3】高斯模糊一张图片(_cvSmooth相关编译错误)
代码如下: #include <iostream> #include <opencv/highgui.h> #include <opencv/cv.h> void ...
- 获取sonar扫描结果
api通过抓包获取 java 1.get和post方法 package com.tools.httpUtil; import java.io.BufferedReader; import java.i ...
- python urllib和urllib3包
urllib.request urllib当中使用最多的模块,涉及请求,响应,浏览器模拟,代理,cookie等功能. 1. 快速请求 urlopen返回对象提供一些基本方法: read 返回文本数据 ...
- FPGA与嵌入式一点见解
FPGA:即现场可编程门阵列,它是在PAL.GAL.CPLD等可编程器件的基础上进一步发展的产物.它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可 ...
- MySQL模式匹配(LIKE VS REGEXP)
3.3.4.7. 模式匹配 MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi.grep和sed的扩展正则表达式模式匹配的格式. SQL模式匹配允许你使用“_”匹配任何单个字符, ...
- Oracle 索引扫描的几种情况
index range scan(索引范围扫描): 1.对于unique index来说,如果where 条件后面出现了<,> ,between ...and...的时候,那么就可能执行i ...