python django简单的登陆实现
- 实现方法:
1,可以先定义一个基础的页面访问路径 例如:http://127.0.0.1:8000/index/ 定义index路径
在urls
- urlpatterns = [
- url(r'^index/$', views.index),
- ]
2,同时也需要创造一个index.html页面
- <html xmlns="http://www.w3.org/1999/html">
- <head>
- <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
- <title>登陆页面</title>
- </head>
- <body>
- <form method="post" action="/login_action/"> <!--创造一个表单,用于数据提交,并且使用post方式提交表单,同时定义为login_action(登陆)过程-->
- <input name="username" type="text" placeholder="用户名"><br> <!--input标签定义文本框,数据类型-->
- <input name="password" type="password" placeholder="密码"><br>
- {{error}}<br> <!--这里的双大括号可以用于显示函数所指定的内容-->
- <button id="btn" type="submit">登陆</button>
- {% csrf_token %} <!--为了防止csrf攻击-->
- </form>
- </body>
- </html>
3,需要一个将url和html连接起来的函数
定义views.py
- from django.shortcuts import render
- from django.http import HttpResponse
- from django.http import HttpResponseRedirect #这三个模块为常用模块
- # Create your views here.
- def index(request):
- return render(request, 'index.html')
- def login_action(request):
- if request.method == 'POST': #判断是否为post提交方式
- username = request.POST.get('username', '') #通过post.get()方法获取输入的用户名及密码
- password =request.POST.get('password', '')
- if username == 'admin' and password == '': #判断用户名及密码是否正确
- return HttpResponseRedirect('/event_manage/') #如果正确,(这里调用另一个函数,实现登陆成功页面独立,使用HttpResponseRedirect()方法实现
- else:
- return render(request,'index.html',{'error':'username or password eror'})#不正确,通过render(request,"index.html")方法在error标签处显示错误提示
- def event_manage(request): #该函数定义的是成功页面的提示页面
- #username =request.COOKIES.get('user', '') #读取浏览器cookie
- return render(request,"event_manage.html") #{"user":username}) #在上面的函数判断用户名密码正确后在显示该页面,指定到event_manage.html,切换到一个新的html页面
使用到的方法包括
render()
POST.get()
- HttpResponseRedirect()
- HttpResponse()
熟悉它们的使用
login_action()函数,对应index.html中定义的表单的提交过程,我们在这个过程中提交数据并且判断数据,
event_manage()函数用于打开新的html页面
5,创造成功页面event_manage.HTML
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>成功</title>
- </head>
- <body>
- <h1>你好,入侵者</h1>
- </body>
- </html>
在views.py 中定义的函数都应该在urls.py 中定义路径路径名称可以自定,但要与函数名称对应,这里为了与相应的功能对应
6,定义上面的两个函数的路径
- urlpatterns = [
- url(r'^index/$', views.index),
- url(r'^login_action/$', views.login_action), #登陆过程
- url(r'^event_manage/$', views.event_manage), #成功的页面
- ]
总结一下这整个流程
首先,我们通过http://127.0.0.1:8000/index/访问基础登陆页面
输入用户名密码,点击提交按钮,这一过程(login_action)调用login_action()函数{并且跳转到http://127.0.0.1:8000/login_action/}——————进行判断----------正确---------立马跳转到http://127.0.0.1:8000/event_manage/ ,并且显示event_manage.html.
整个实现过程
首先创造一个路径,相应的html页面
然后通过一个函数将他们捆绑到一起
实现表单内容提交的过程再定义一个函数用于处理数据,又定义一个函数,用于指定跳转到其它 的页面
总之,在views.py 中定义的是处理html中各种数据处理,数据判断,页面的跳转
同时定义的这些函数都是各个过程方法的链接,也应该在urls.py中创造这些路径
python django简单的登陆实现的更多相关文章
- Redis & Python/Django 简单用户登陆
一.Redis key相关操作: 1.del key [key..] 删除一个或多个key,如果不存在则忽略 2.keys pattern keys模式匹配,符合glob风格通配符,glob风格的通配 ...
- python实现简单的登陆认证(含简单的文件操作)
需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(本 ...
- Python - Django - 简单分页的实现
models.py: from django.db import models class Book(models.Model): title = models.CharField(max_lengt ...
- python django简单操作
准备: pip3 install django==1.10.3 cmd django-admin startproject guest 创建一个guest的项目 cd guest manage. ...
- python django 简单接口测试页面
项目创建订单只能是接口创建的,之前都是用jar包放到jmeter里调用下单,给产品或者运维用不太方便,就想用django写一个带前端界面的下单web程序 项目结构 代码,比较渣 # coding=ut ...
- Python实现简单登陆验证(文件操作)
利用python编写一个简单的登陆验证 代码主要功能: 利用Python实现简单的登陆验证,代码主要有两个部分组成: 第一部分:登陆页面,作用是实现用户名和密码的输入 利用两个输入函数input()来 ...
- python Django 学习笔记(二)—— 一个简单的网页
1,创建一个django项目 使用django-admin.py startproject MyDjangoSite 参考这里 2,建立视图 from django.http import HttpR ...
- Python django实现简单的邮件系统发送邮件功能
Python django实现简单的邮件系统发送邮件功能 本文实例讲述了Python django实现简单的邮件系统发送邮件功能. django邮件系统 Django发送邮件官方中文文档 总结如下: ...
- python编写简单的html登陆页面(4)
python编写简单的html登陆页面(4) 1 在python编写简单的html登陆页面(2)的基础上在延伸一下: 可以将动态态分配数据,建立表格,存放学生信息 2 实现的效果如下: 3 动 ...
随机推荐
- [knowledge][DPI] kernel bypass 高性能网络包处理的宏观思路
高性能网络包处理,这个问题的出现,主要原因在于linux内核协议栈的处理能力,已经跟不上日益增长的网卡吞吐量以及数据量. 有关详细的内核协议栈瓶颈的阐述,可以参考如下这篇文章: <Improvi ...
- Copycat - configure
Copycat server之间的configure是如何,何时被同步的? 大家可以看到,只有leader可以同步配置 1. 显式的调用LeaderState.configure Leader ...
- docker管理工具protainer
ortainer(基于 Go) 是一个轻量级的Web管理界面,可让您轻松管理 Docker 主机 或 Swarm 集群.
- 转:cookie.setPath()用法
原文地址:cookie.setPath()的用法 正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得. 1.可在同一应用服务器内共享方法:设置cookie.setPath ...
- 《HTTP - 基于http的认证》
推荐一首歌 - 好吧,今天刚入职第二天,也没听歌. 哈哈哈哈. 1:何为认证? - 其实这个问题就比较宽泛了,总的来说,就是你有证明你身份的标识. - 和人类社会一样,你花了钱想看一场场演唱会,但是谁 ...
- python之文件操作示例
方法一: with open("e:\\gloryroad.txt","a+",encoding="utf-8") as file: fil ...
- 【PyQt5-Qt Designer】QDoubleSpinBox-小数微调框
QDoubleSpinBox-小数微调框 总体说明 大部分的总体说明和QSpinBox的差不多(详见:<PyQt5:微调框1>),这里主要把有差别的地方谈一下(三点). QDoubleSp ...
- 1-AO3402MOS管使用
1.做电源设计,或者做驱动方面的电路,难免要用到MOS管.MOS管有很多种类,也有很多作用.做电源或者驱动的使用,当然就是用它的开关作用. 2.MOS管的三个极,G.S.D分别代表是什么? (1).判 ...
- Laravel创建产品-CRUD之Create and Store
上一篇说了laravel用crud之index列出产品items,我们现在试着添加产品,用到CRUD的 Create 和 Store 方法,打开/app/Http/Controllers/ItemCo ...
- Linux 磁盘空间大小统计du命令常见使用方法
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/hongweigg/article/details/37692057 在 Linux下,能够对某个文件 ...