博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django 学习-16 Django会话Cookie
阅读量:5972 次
发布时间:2019-06-19

本文共 2276 字,大约阅读时间需要 7 分钟。

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可以选择退出

转载于:https://www.cnblogs.com/Icanflyssj/p/5134650.html

你可能感兴趣的文章
解决java.lang.IllegalArgumentException: 'Content-Type' cannot contain wildcard type '*'异常(真实有效)...
查看>>
强大的 VS Code
查看>>
奔驰更新道路救援APP,融入了AR技术
查看>>
Magix中的缓存模块
查看>>
xinetd被动服务唤醒
查看>>
iView 3.4.1 发布,基于 Vue.js 的企业级 UI 组件库
查看>>
HoloLens获得新专利,可共享空间地图提升扫描建模效率
查看>>
让SAP云平台上的Web应用使用destination服务
查看>>
淘宝未来3年核心方向曝光!新的万亿级市场正在爆发
查看>>
Ubuntu下常规方法安装软件
查看>>
业界 | 数据科学简历通关指南,一文告诉你HR青睐哪些特质
查看>>
有道词典命令行查询工具(Mac/Ubuntu)
查看>>
orm2 中文文档 3. 定义模型
查看>>
在业务过程中使用区块链和智能合约
查看>>
驾驶无人机也要考执照了,“黑飞”可能刑拘
查看>>
在虚拟现实中解谜,PSVR游戏《Statik》将于4月24日正式发售
查看>>
正数阶乘结尾0的个数
查看>>
SQL SERVER2008及以上版本数据库自动备份的三种方法
查看>>
秒杀于丹、蒋勋、蒙曼,每篇都有10万+的潜质。《六神磊磊读唐诗》,5星。
查看>>
JDBC教程之PreparedStatement
查看>>