1、django.admin.py  startproject   cs3

cd cs3

django.admin.py   startapp   blog

2、    vim urls.py

url(r'^regist/$','blog.views.regist'),       注册
    url(r'^login/$','blog.views.login'),   登录
    url(r'^index/$','blog.views.index'),      跳转界面
    url(r'^logout/$','blog.views.logout'),    注销
)

3、vim blog/views.py

from   django  import  forms
from django.http  import  HttpResponse
from django.shortcuts  import  render_to_response
from  models  import User
class UserForm(forms.Form):
        username =  forms.CharField()
        password = forms.CharField(widget=forms.PasswordInput)

def regist(req):
        if req.method == "POST":
                uf = UserForm(req.POST)
                if uf.is_valid():
                        username = uf.cleaned_data['username']
                        password = uf.cleaned_data['password']
                        User.objects.create(username=username,password=password)
                        return HttpResponse('ok')
        else:
                uf = UserForm
        return render_to_response('regist.html',{'uf':uf})

4、vim blog/templates/regist.html

<form method="post">
{{uf.as_p}}
<input type="submit" value='nice'/ >
</form>
5、      python  manage.py syncdb

python manage.py   runserver

进入页面去试一试127.0.0.1:8000/regist

6、vim blog/views.py

增加这些

from django.http import HttpResponseRedirect

def login(req):
 23         if req.method == "POST":
 24                 uf = UserForm(req.POST)
 25                 if uf.is_valid():
 26                         username = uf.cleaned_data['username']
 27                         password = uf.cleaned_data['password']
 28                         users = User.objects.filter(username__exact=username,password__exact=password)
 29                         if users:
 30                                 return HttpResponseRedirect('/index/')
 31                         else:
 32                                 return HttpResponseRedirect('/login/')
 33         else:
 34                 uf = UserForm()
 35         return render_to_response('login.html',{'uf':uf})
 36 def index(req):
 37         return HttpResponse('ok')

再去试一试127.0.0.1:8000/login   会跳转到index   127.0.0.1:8000/index   直接访问index会返回OK

6、vim blog/views.py      顺便cp  regist.html  login.html

def index(req):
        username = req.COOKIES.get('username','')           用cook获取用户名,在网页界面还可以去查找,在freference-->privacy-->选use custome                                                         for settings  history -->show cookies就可以看到了

return render_to_response('index.html', {'username':username})
def logout(req):
        response = HttpResponse('logout')
        response.delete_cookie('username')                        cookie 的删除方式
        return response
    7  、 vim blog/templates/index.html

<div>

<h1>welcome {{username}}</h1>
<a href='/logout/'>logout</a>
</div>
这样index下就会有个logout可以选择退出

django 学习-16 Django会话Cookie的更多相关文章

  1. Django学习之django自带的contentType表 GenericRelation GenericForeignKey

    Django学习之django自带的contentType表   通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...

  2. day 94 Django学习之django自带的contentType表

    Django学习之django自带的contentType表   通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...

  3. day 93 Django学习之django自带的contentType表

    Django学习之django自带的contentType表   通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...

  4. Django学习之django自带的contentType表

    Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/aar ...

  5. day 91 Django学习之django自带的contentType表

      Django学习之django自带的contentType表   通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net ...

  6. django学习-10.django连接mysql数据库和创建数据表

    1.django模型 Django对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle. Django为这些数据库提供了统一的调用API. 我们可以根据自己 ...

  7. Django学习笔记 Django的工程目录

    mysite├── manage.py 管理项目:包括数据库建立.服务器运行.测试……└── mysite    ├── __init__.py     ├── settings.py 配置文件:应用 ...

  8. Django学习day3——Django的简单使用

    开始一个项目 切换到django的虚拟环境中 执行: django-admin startproject mysite 创建第一个django项目mysite django生成的目录如下: E:. └ ...

  9. django学习-16.返回给前端页面数据为json数据类型的3种方案

    目录结构 1.前言 2.JsonResponse类的源码简单分析 2.1.JsonResponse类的源码如下所示 2.2.JsonResponse类的构造函数里的每个入参的大概含义和作用 3.[方案 ...

随机推荐

  1. WAF指纹探测及识别技术<freebuf>

    Web应用防护系统(也称:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HT ...

  2. li中包含span,在IE6、IE7下会有3pxbug

    如果给每个li里面加个span标签的话,在IE6,IE7下看,li与li之间的距离就会多了3px. 解决方法:在li中加vertical-align:middle; <div class=&qu ...

  3. EasyUI-右键菜单变灰不可用效果

    使用过EasyUI的朋友想必都知道疯狂秀才写的后台界面吧,作为一个初学者我不敢妄自评论它的好坏,不过它确实给我们提供了一个很好框架,只要在它的基础上进行修改,基本上都可以满足我们开发的需要. 知道“疯 ...

  4. C#操作Excel(2)-- 打开-读取Excel文档

    由于要为某软件实现导出Excel功能,故有此文. 本文的开发环境是Visual Studio 2010 ,C#, Excel 2007. 新建C#工程后打开Solution Explorer,可以看到 ...

  5. Android集成支付宝接口 实现在线支付

    手机的在线支付,被认为是2012年最看好的功能,我个人认为这也是移动互联网较传统互联网将会大放光彩的一个功能. 人人有手机,人人携带手机,花钱买东西,不再需要取钱付现,不再需要回家上网银,想买什么,扫 ...

  6. wampserver下打开phpMyAdmin出现403错误的问题解决方法

    图1 图2 wamp下打开phpMyAdmin出现403错误的问题解决方法安装完wamp后打开其下的phpMyAdmin也就是路径http://localhost/phpmyadmin/ 出现[图一] ...

  7. 清除DataTable中的空行记录

    第一种方法: string filter = ""; ; i < dt.Columns.Count; i++) { ) filter += dt.Columns[i].Col ...

  8. Linux Shell远程执行命令(命令行与脚本方式)

    需求:经常需要在一台服务器远程到其他节点的服务器上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了.介绍两种shell命令远程执行的方法. 方式一: s ...

  9. tachyon with spark

    spark1.2.0  tachyon0.5.0 jdk1.7 scala2.10.4 1.装好spark.tachyon.jdk.scala 2.修改spark-env.sh添加Tachyon客户端 ...

  10. org.apache.hadoop.conf-Configured

    org.apache.hadoop.conf中的最后一个类,也是这个包中以后用的最频繁的一个,Configurable算是肉体,Configuration算是灵魂吧 package org.apach ...