1. Cookies
(1)设置Cookie
def set_color(request):
if "favorite_color" in request.GET:
# Create an HttpResponse object...
response = HttpResponse("Your favorite color is now %s" % \
request.GET["favorite_color"])
# ... and set a cookie on the response
response.set_cookie("favorite_color",
request.GET["favorite_color"])
return response
else:
return HttpResponse("You didn't give a favorite color.")
(2)获取Cookie
def show_color(request):
if "favorite_color" in request.COOKIES:
return HttpResponse("Your favorite color is %s" % \
request.COOKIES["favorite_color"])
else:
return HttpResponse("You don't have a favorite color.")
2.Session
(1) 打开 Sessions功能
编辑 MIDDLEWARE_CLASSES 配置,确保 MIDDLEWARE_CLASSES 中包含 ‘django.contrib.sessions.middleware.SessionMiddleware’
确认 INSTALLED_APPS 中有 ‘django.contrib.sessions’ (如果你是刚打开这个应用,别忘了运行 manage.py syncdb)
(2) 在视图中使用Session
# Set a session value:
request.session["fav_color"] = "blue"
# Get a session value -- this could be called in a different view,
# or many requests later (or both):
fav_color = request.session["fav_color"]
# Clear an item from the session:
del request.session["fav_color"]
# Check if the session has a given key:
if "fav_color" in request.session:
...
(3) 打开认证支持
根据本章早前的部分确认已经安装了session 框架,需要确认用户使用cookie,这样sesson 框架才能正常使用。
将 ‘django.contrib.auth’ 放在你的 INSTALLED_APPS 设置中,然后运行 manage.py syncdb
确认 SessionMiddleware 后面的 MIDDLEWARE_CLASSES 设置中包含 ‘django.contrib.auth.middleware.AuthenticationMiddleware’
(4) 登录和退出
from django.contrib import auth
from django.http import HttpResponseRedirect
def login(request):
username = request.POST['username']
password = request.POST['password']
user = auth.authenticate(username=username, password=password)
if user is not None and user.is_active:
# Correct password, and the user is marked "active"
auth.login(request, user)
# Redirect to a success page.
return HttpResponseRedirect("/account/loggedin/")
else:
# Show an error page
return HttpResponseRedirect("/account/invalid/")
from django.contrib import auth
def logout(request):
auth.logout(request)
# Redirect to a success page.
return HttpResponseRedirect("/account/loggedout/")
(5) 限制已登录用户的访问
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
# ...
def user_can_vote(user):
return user.is_authenticated() and user.has_perm("polls.can_vote")
@user_passes_text(user_can_vote, login_url="/login/")
def vote(request):
# Code here can assume a logged-in user with the correct permission.
...
from django.contrib.auth.decorators import permission_required
@permission_required('polls.can_vote', login_url="/login/")
def vote(request):
# ...
PS:由于这部分内容多属于后台权限部分,大部分代码并未测试,参考网址为:http://djangobook.py3k.cn /chapter12/,对于权限的的设置,是在数据库表里定义的(django_content_type,auth_permission),参考自动生成的数据即可有个大概的明白。值得一提的是后台User有个关联档案的功能,使得默认的user表不一定为后台服务,亦可为前台服务。这几天在思量做一个.NET版的较通用后台管理系统,并在以后改为Python及PHP版,今天看了这部分,觉得我做的Django大部分都有了,Python版的应该不必重复造轮子了,把Django研究透就好
分享到:
相关推荐
django笔记 django笔记
Django学习笔记.pdf
2022 B站最详细django3教程(django从入门到实践) 很适合刚学习django的同学 通过一个案例,把django的基本的templates,models,urls,from,modelfrom讲的清清楚楚,甚至还给了我们应用场景。
学习django框架的笔记,超详细
在看django book 2.0和django官方文档的过程中自己做的django笔记,
django学习笔记django学习笔记django学习笔记
千锋Django笔记.rar
前锋教育Django网课笔记,含代码和笔记,适合初学者学习!
django实现用户的登录注册连接后台数据库完成主页的搭建,并且附有忘记密码 验证码等功能。
学习Django框架不二选择,有源码有笔记(思维导图)
一起学习django,希望对你有帮助
Django相关笔记记录了Django基础,可以帮助同行快速上手。
登录、注册密码(需要有学号验证功能:注册学号和管理员导入学号需进行验证) b.投票功能(单选) 2.服务端(网页形式) a.管理员登录认证 b.学生信息导入(文件形式导入,内容包括学号、姓名) c.发起投票: a)定义...
Django笔记(自用)
pycharm python3.6 Django2.0 mysql 用户登录与注册系统
django学习笔记,包含安装、setting详解 admin自定义管理、数据类型、视图、restfromework、认证权限等
个人总结的Django学习笔记, 持续更新中。 目前只是总结了django的一部分学习逻辑。
django 学习笔记(1)—— python和web开发框架(csdn)————程序
学习Django框架时自己总结的文档,内含知识点,代码,案例。