django 学习-16 Django会话Cookie
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的更多相关文章
- Django学习之django自带的contentType表 GenericRelation GenericForeignKey
Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...
- day 94 Django学习之django自带的contentType表
Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...
- day 93 Django学习之django自带的contentType表
Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...
- Django学习之django自带的contentType表
Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/aar ...
- day 91 Django学习之django自带的contentType表
Django学习之django自带的contentType表 通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net ...
- django学习-10.django连接mysql数据库和创建数据表
1.django模型 Django对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle. Django为这些数据库提供了统一的调用API. 我们可以根据自己 ...
- Django学习笔记 Django的工程目录
mysite├── manage.py 管理项目:包括数据库建立.服务器运行.测试……└── mysite ├── __init__.py ├── settings.py 配置文件:应用 ...
- Django学习day3——Django的简单使用
开始一个项目 切换到django的虚拟环境中 执行: django-admin startproject mysite 创建第一个django项目mysite django生成的目录如下: E:. └ ...
- django学习-16.返回给前端页面数据为json数据类型的3种方案
目录结构 1.前言 2.JsonResponse类的源码简单分析 2.1.JsonResponse类的源码如下所示 2.2.JsonResponse类的构造函数里的每个入参的大概含义和作用 3.[方案 ...
随机推荐
- 使用#pragma阻止一些warnings
这篇博客的内容都是记的网上的.是流水账.只是记录下来以便日后之有,避免每次重新google. #pragma除了可以用来把不同功能的代码进行分隔组织外还可以用来disable一些warnings.这在 ...
- freemarker中的round、floor和ceiling数字的舍入处理
freemarker中的round.floor和ceiling数字的舍入处理 1.简易说明 (1)round:四舍五入 (2)floor:向下取整 (3)ceiling:向上取整 2.举例说明 < ...
- 腾讯微博java(android)sdk新增微博api详细介绍
本文主要介绍腾讯微博android sdk中新增微博有关的8个接口,以及使用的示例代码 注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdkService并初始化,见 ...
- 模块化JavaScript设计模式(一)
在可扩展JavaScript的世界里,假设我们说一个应用程序是模块化(modular)的,那么通常意味着它是由一系列存储于模块中的高度解耦,不同的功能片段组成. 在可能的情况下.通过一处依赖性.松耦合 ...
- this class is not key value coding-compliant for the key XXX错误的解决方法
转自:http://www.cnblogs.com/zhangronghua/archive/2012/03/16/iOSError1.html 今天在听iOS开发讲座时,照着讲座的demo输入代码, ...
- PMP学习感想
经过一个多月的漫长等待,伴随着焦虑与激动,终于迎来了2016新年的第一个惊喜,PMP考试通过了! 三个多月的努力,利用休息时间,终于把这块硬骨头给啃了下来. 感谢慧翔天地的老师和学友们,是在你们的努力 ...
- C++删除字符串中特定的字符
原文:https://snipt.net/aolin/c-6/ //处理string类型的方法del_sp(string &str)待测试 //处理C-Style的方法可用,可以考虑将该方法改 ...
- Python Learning
这是自己之前整理的学习Python的资料,分享出来,希望能给别人一点帮助. Learning Plan Python是什么?- 对Python有基本的认识 版本区别 下载 安装 IDE 文件构造 Py ...
- iOS 10 推送必看(高阶1)
来源:徐不同 链接:http://www.jianshu.com/p/3d602a60ca4f iOS10 推送必看(基础篇) 虽然这篇文章比较长,也不好理解,但是还是建议大家收藏,以后用到的时候,可 ...
- Timed Code
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&qu ...