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

  1. 更改试图函数
  2. 编辑html文件接受session
  3. 数据库迁移
     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_required装饰登录后才能展示的函数
    • 修改url路由

django从零开始-视图的更多相关文章

  1. 【Django】 视图层说明

    [Django视图层] 视图层的主要工作是衔接HTTP请求,Python程序和HTML模板,使他们能够有机互相合作从模型层lou到数据并且反馈.说到视图层的工作就有以下几个方面要说 ■ URL映射 对 ...

  2. Django基本视图

    Django基本视图 下面这三个类也许不能提供项目所需的所有的功能,这些应用于基于类的视图或Mixins情形下. 大多数Django的内建视图继承于其他基于类的视图或者各种mixins中,因为继承链是 ...

  3. Django之视图

    Django之视图   Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个 ...

  4. Django通用视图APIView和视图集ViewSet的介绍和使用

    原 Django通用视图APIView和视图集ViewSet的介绍和使用 2018年10月21日 14:42:14 不睡觉假扮古尔丹 阅读数:630   1.APIView DRF框架的视图的基类是 ...

  5. Django之视图函数总结

    Django之视图函数总结 HttpRequest与HttpResponse http请求中产生两个核心对象: HttpRequest对象:用户请求相关的所有信息(对象) HttpResponse对象 ...

  6. Django _VIEW视图_源码分析

    Django _VIEW视图: 1. 点击as_view方法. 第二步: as_view () 为VIEW 类里定义的,到时候我们定义业务逻辑的类就继承这个VIEW类. view方法内返回的是disp ...

  7. Django的视图层简介

    Django的视图层 视图函数 所谓视图函数,其实就是我们Django项目中各个应用中的views.py文件中定义的每个用来处理URL路由映射到这里的逻辑函数.一个视图函数简称视图,它是个简单的Pyt ...

  8. django views视图函数返回值 return redirect httpresponse总结

    django views视图函数返回值 return redirect  render httpresponse总结

  9. Django的视图流式响应机制

    Django的视图流式响应机制 Django的响应类型:一次性响应和流式响应. 一次性响应,顾名思义,将响应内容一次性反馈给用户.HttpResponse类及子类和JsonResponse类属于一次性 ...

随机推荐

  1. 关于js作用域问题

    补充: function Foo(name,age){ this.name=name; this.age=age; this.getName=function(){ console.log(this) ...

  2. vue-router的简单实现原理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. asp.net core认证和授权的初始认识--claim、claimsidentity、claimsprincipal

    Claim表示一个声明单元,它用来组成ClaimsIdentity.ClaimsIdentity表示一个证件,例如身份证,身份证上面的名字表示一个Claim,身份证号也表示一个Claim,所有这些Cl ...

  4. IDEA 各版本在线激活(激活码)

    lan yu 大佬的授权又被封杀了,还好我收藏了一些其他的服务器地址. 在线授权服务器 https://jetlicense.nss.im/ 授权代码 K03CHKJCFT-eyJsaWNlbnNlS ...

  5. day 7-6 多线程及开启方式

    一. 什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程 ...

  6. python爬虫之scrapy模拟登录

    背景: 初来乍到的pythoner,刚开始的时候觉得所有的网站无非就是分析HTML.json数据,但是忽略了很多的一个问题,有很多的网站为了反爬虫,除了需要高可用代理IP地址池外,还需要登录.例如知乎 ...

  7. php分割中文字符串为数组的简单例子

    近日在做东西时,遇到要把中文字符进行逐字分割,试了很多方法,都不行,后来发现了一个超简单的方法: 分割字符串很简单,主要是用到函数preg_match_all.当处理含有中文的字符串时,可以用如下的方 ...

  8. centos5 安装redmine

    一.下载依赖包 yum -y install libxslt-devel libyaml-devel libxml2-devel gdbm-devel libffi-devel yum -y inst ...

  9. 在使用IWMS的时候,IWMS自带函数样式无法满足我们需求。以下一段JS是实现左图右字的适用于IWMS的代码。

    <div class="wz-list">里边需要有html做好的Html代码样式</div> <script> var attrnew = & ...

  10. python设计模式第二十天【模版方法模式】

    1.应用场景 (1)具有相同的操作,但是步骤中具有不同的操作细节 2.代码实现 #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ from abc impor ...