django从零开始-视图
1.处理的登录请求
views文章中添加登录函数login_action
def login_action(request):
if request.method == 'POST':
username = request.POST.get('username','')
password = request.POST.get('password', '')
if username == 'admin' and password == 'admin':
return HttpResponse('登录成功')
else:
return render(request,'index.html',{'error':'用户名或者密码错误'})
添加url路由
url(r'^login_action$',views.login_action),
2.登录成功页面
创建event_manage.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>发布会管理</title>
</head>
<body>
<h1>
<center>登录成功</center>
</h1>
</body>
</html>
改写views.py的登录函数,返回一个页面
def login_action(request):
if request.method == 'POST':
username = request.POST.get('username','')
password = request.POST.get('password', '')
if username == 'admin' and password == 'admin':
return HttpResponseRedirect('/event_manage/')
#return render(request,'event_manage.html')#BUILD2
#return HttpResponse('登录成功')
else:
return render(request,'index.html',{'error':'用户名或者密码错误'}) def event_manage(request):
return render(request,'event_manage.html')
改下url路由
url(r'^event_manage/$',views.event_manage),
3.cookie and seeion
在这里我们使用seeion
- 更改试图函数

- 编辑html文件接受session

- 数据库迁移
python .\manage.py migrate
4.认证系统
- 登录admin后台
- 创建用户
python .\manage.py createsuperuser
- 创建用户
- 引用认证登录
- 修改login函数
def login_action(request):
if request.method == 'POST':
username = request.POST.get('username','')
password = request.POST.get('password', '')
user = auth.authenticate(username = username, password = password)
if user is not None:
auth.login(request,user)
#if username == 'admin' and password == 'admin': response = HttpResponseRedirect('/event_manage/')
request.session['user'] = username
return response
#return render(request,'event_manage.html')#BUILD2
#return HttpResponse('登录成功')
else:
return render(request,'index.html',{'error':'用户名或者密码错误'})
- 修改login函数
- 使用装饰器 关窗
- 使用自带login_required装饰登录后才能展示的函数
- 修改url路由
django从零开始-视图的更多相关文章
- 【Django】 视图层说明
[Django视图层] 视图层的主要工作是衔接HTTP请求,Python程序和HTML模板,使他们能够有机互相合作从模型层lou到数据并且反馈.说到视图层的工作就有以下几个方面要说 ■ URL映射 对 ...
- Django基本视图
Django基本视图 下面这三个类也许不能提供项目所需的所有的功能,这些应用于基于类的视图或Mixins情形下. 大多数Django的内建视图继承于其他基于类的视图或者各种mixins中,因为继承链是 ...
- Django之视图
Django之视图 Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个 ...
- Django通用视图APIView和视图集ViewSet的介绍和使用
原 Django通用视图APIView和视图集ViewSet的介绍和使用 2018年10月21日 14:42:14 不睡觉假扮古尔丹 阅读数:630 1.APIView DRF框架的视图的基类是 ...
- Django之视图函数总结
Django之视图函数总结 HttpRequest与HttpResponse http请求中产生两个核心对象: HttpRequest对象:用户请求相关的所有信息(对象) HttpResponse对象 ...
- Django _VIEW视图_源码分析
Django _VIEW视图: 1. 点击as_view方法. 第二步: as_view () 为VIEW 类里定义的,到时候我们定义业务逻辑的类就继承这个VIEW类. view方法内返回的是disp ...
- Django的视图层简介
Django的视图层 视图函数 所谓视图函数,其实就是我们Django项目中各个应用中的views.py文件中定义的每个用来处理URL路由映射到这里的逻辑函数.一个视图函数简称视图,它是个简单的Pyt ...
- django views视图函数返回值 return redirect httpresponse总结
django views视图函数返回值 return redirect render httpresponse总结
- Django的视图流式响应机制
Django的视图流式响应机制 Django的响应类型:一次性响应和流式响应. 一次性响应,顾名思义,将响应内容一次性反馈给用户.HttpResponse类及子类和JsonResponse类属于一次性 ...
随机推荐
- 使用HDTune规避硬盘上损坏的扇区
如何使用HDTune扫描磁盘上的错误在网上已经有很多帖子了,但扫描到之后如何用HDTune来规避硬盘上损坏的扇区呢? HDTune并不能直接规避,而是需要重新划分磁盘的卷.HDTune一行有50个小方 ...
- mysql备份(导出)数据库,并恢复数据
导出某个数据库数据到文件中 假设要导出test这个数据库,那么可以在Linux命令行(不是在mysql中) [root@ubuntu /data]# mysqldump -uroot -p test ...
- 【学习总结】Master课程 之 虚拟化与云计算
Section 1- Cloud Computing Introduction-云计算介绍 1-What can Cloud Computing do? - 云计算可以做什么? 服务模式:美国国家标准 ...
- Ubuntu端口开放
一.关于iptable的介绍 维基百科:https://zh.wikipedia.org/wiki/Iptables 注意:iptables的操作需要root权限 二.具体操作 sudo apt-ge ...
- C# foreach内部原理
我们知道使用foreach的一个要求是对象必须继承自IEnumerable接口 这样才可以进行迭代 那内部是怎么实现的呢 这个时候会将对应的foreach语句转换为一个while循环 并且通过Move ...
- 网站之.htaccess文件
Apache系统中的.htaccess文件(分布式配置文件)提供了针对目录改变配置的方法,也就是在一个特定的文件目录中放置一个包含指令的文件,以作用于此目录以及所有子目录.直白的说,.htaccess ...
- Mybatis+Spring整合后Mapper测试类编写
public class UserMapperTest { private ApplicationContext applicationContext; @Before public void ini ...
- js获取非行间样式/写入样式(行间)
<!--DOCTYPE html--> <html> <head> <meta charset="utf-8" /> <sty ...
- 批量处理word所有回车行
在WORD中点击CTRL+H,弹出对话框,输入如下替换符
- python学习笔记(5)-time库的使用
import time 一.时间获取函数 time(), ctime(),gmtime() >>> import time >>> time.time() 1524 ...