首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django 1.8 官方文档翻译:13-1-2 使用Django认证系统

除非你正在编写你自己认证系统,你可能不会使用到它。当然如果你在寻找一种登录user方法,请参见login_required()装饰。 权限和授权 Django从开始就带有一个简单权限系统。...把它设置为 None 来把它从 URL 中移除,当你想把通不过检查用户重定向没有next page 登录页面时。...如果提供了 raise_exception 参数,装饰抛出PermissionDenied异常,使用 the 403 (HTTP Forbidden) 视图而不是重定向登录页面。...如果你在升级一个现存站点,并且希望开启这一中间件,而希望你所有用户之后重新登录,你可以首先升级DJango1.7并且运行它一段时间,以便所有会话在用户登录时自然被创建,它们包含上面描述会话哈希...如果通过POST调用并带有用户提交凭证,它会尝试登入该用户。如果登入成功,该视图重定向next中指定URL

4.6K20

Django 用户认证系统使用总结

login_required装饰 login_required(redirect_field_name='next', login_url=None) 作为快捷方式,可以使用login_required...,重定向settings.LOGIN_URL变量指定url,并把当前请求绝对URL赋值给查询字符串。...注意,如果指定login_url参数,则需要配置settings.LOGIN_URL. 更多详情,参考官方文档。...一些常见装饰 @require_POST # 设置视图http访问方法必须为POST @require_GET # 设置视图http访问方法必须为GET 例子:设置视图访问方法必须为POST...当使用RequestContext,并且开启了'django.contrib.auth.context_processors.auth'上下文处理时(可在settings.py中配置),当前已登录用户和他们权限都被存储为变量

1.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

Django中六个常用自定义装饰

,并且减少了许多冗余但又不得不写代码,使我们可以使用单个方法向多个类添加功能。 对于装饰重用性和易用性,Django里面的@login_required就是一个很好例子。...使用它只用一句代码就可以检查用户是否通过身份验证,并将未登录用户重定向登录url。...该装饰使用方法如下: from django.contrib.auth.decorators import login_required @login_required(login_url='/accounts...每次用户试图访问 my_view 时,都会进入 login_required 中代码。 Django装饰 下面介绍一些个人认为比较有用,或者是之前使用过具有积极效果装饰。...Anonymous required 这个装饰是参考Django自带 login_required 装饰,但是功能是相反情况,即用户必须是未登录,否则用户将被重定向 settings.py

1.3K40

Django通过next参数实现登录后跳转回到前一页3种方法

方法二: 使用login_required装饰 用户尝试访问页面总是对应某个视图,这时我们可以给这个视图加上login_required装饰。...如果你使用Django自带Auth登录模块或Django-allauth登录模块,你则不需要编写自己login函数来处理next参数,因为它们可以自动处理next传递参数并实现跳转。...当你使用基于类视图(Class Based Views, 以class开头)时,你需要按如下方法使用method_decorator这个装饰。...更多内容见Django基础(10): URL重定向HttpResonseDirect, redirect和reverse方法详解。...小结 有多种方法可以实现用户在登录后跳转回前一页。小编我更推荐静态模板自定义next参数,其次是使用login_required装饰

2.3K30

【Python全栈100天学习笔记】Day47 Django中间件使用

,我们在跳转登录时设置了一个backurl参数,把当前浏览URL作为返回页面地址。...- 免除重定向HTTPS SessionMiddleware - 会话中间件。...自定义中间件 Django中间件有两种实现方式:基于类实现方式和基于函数实现方式,后者更接近于装饰写法。...中间件对用户请求和响应进行拦截过滤并增加额外处理,在这一点上它跟装饰是完全一致,所以基于函数写法来实现中间件就跟装饰写法几乎一模一样。下面我们用自定义中间件来实现用户登录验证功能。...当然,在这个过程中,用户请求可以被拦截,就像上面我们自定义中间件那样,如果用户在没有登录情况下访问了受保护资源,中间件会将请求直接重定向登录页,后面的中间件和视图函数将不再执行。

71920

Django之views系统

: # urls.py中 url(r'^add_class/$', views.AddClass.as_view()), 给视图加装饰 使用装饰装饰FBV FBV本身就是一个函数,所以和给普通函数加装饰无差...Django中提供了method_decorator装饰器用于将函数装饰转换为方法装饰。...() 函数 一个视图,可以带有参数:将使用urlresolvers.reverse 来反向解析名称 一个绝对或相对URL,将原封不动作为重定向位置。...传递一个具体ORM对象(了解即可) 将调用具体ORM对象get_absolute_url() 方法来获取重定向URL: from django.shortcuts import redirect...A页面临时重定向B页面,那搜索引擎收录就是A页面。 A页面永久重定向B页面,那搜索引擎收录就是B页面。

2.2K70

03.Django基础三之视图函数

四 给视图加装饰 使用装饰装饰FBV     FBV本身就是一个函数,所以和给普通函数加装饰无差: def wrapper(func): def inner(*args, **kwargs...Django中提供了method_decorator装饰器用于将函数装饰转换为方法装饰。...from django.utils.decorators import method_decorator 添加装饰格式必须为@method_decorator(),括号里面为装饰函数名 给类添加是必须声明...301和302状态码都表示重定向,就是说浏览在拿到服务返回这个状态码后会自动跳转到一个新URL地址,这个地址可以从响应Location首部中获取 (用户看到效果就是他输入地址A瞬间变成了另一个地址...临时重定向(响应状态码:302)和永久重定向(响应状态码:301)对普通用户来说是没什么区别的,它主要面向是搜索引擎机器人。 A页面临时重定向B页面,那搜索引擎收录就是A页面。

4.9K30

python 终极篇 --- django

fbv本身就是函数,所以与普通函数加装饰没有任何区别; cbv加装饰 类中方法与独立函数不完全相同,因此不能直接将函数装饰应用于类中方法...Django中提供了method_decorator装饰器用于将函数装饰转换为方法装饰。 ?...参数可以是: 一个模型:将调用模型get_absolute_url() 函数 一个视图,可以带有参数:将使用urlresolvers.reverse 来反向解析名称 一个绝对或相对URL,将原封不动作为重定向位置...传递一个具体ORM对象(了解即可) 将调用具体ORM对象get_absolute_url() 方法来获取重定向URL: from django.shortcuts import redirect...A页面临时重定向B页面,那搜索引擎收录就是A页面。 A页面永久重定向B页面,那搜索引擎收录就是B页面。 redirect 4.

1.6K10

Django 视图层

解释图中标识处 1.选择一个本地空目录,该目录就作为python虚拟环境目录. 2,选择本地python解释安装路径 3.勾选该选项则可以使用base interpreter中第三方库,选将和外界完全隔离...如果用户当前没有登录,user 将设置为 django.contrib.auth.models.AnonymousUser 一个实例。...,所以这里主要介绍后面两种形式. 1.HttpRespnse() 使用方法: 最简单方式是传递一个字符串作为页面的内容HttpResponse构造函数,并返回给用户,如: response...render方法就是将一个模板页面中模板语法进行渲染,最后渲染成一个html页面作为响应体 3.redirect() 传递要重定向一个硬编码URL def my_view(request):..., *args, **kwargs): print(request) print(args) print(kwargs) # 可以写类似装饰东西

1.7K20

Django学习笔记之Django视图View

: # urls.py中 url(r'^add_class/$', views.AddClass.as_view()), 给视图加装饰 使用装饰装饰FBV FBV本身就是一个函数,所以和给普通函数加装饰无差...Django中提供了method_decorator装饰器用于将函数装饰转换为方法装饰。...() 函数 一个视图,可以带有参数:将使用urlresolvers.reverse 来反向解析名称 一个绝对或相对URL,将原封不动作为重定向位置。...传递一个具体ORM对象(了解即可) 将调用具体ORM对象get_absolute_url() 方法来获取重定向URL: from django.shortcuts import redirect...A页面临时重定向B页面,那搜索引擎收录就是A页面。 A页面永久重定向B页面,那搜索引擎收录就是B页面。

1.8K30

Django认证系统并不鸡肋反而很重要

传统方法 使用request.user.is_authenticated判断,然后重定向登录页面: from django.conf import settings from django.shortcuts...它处理是这样: 如果用户没有登录,就重定向settings.LOGIN_URL(默认值/accounts/login/),同时把当前绝对路径添加到查询字符串中,如:/accounts/login...login_requiredredirect_field_name参数是指登陆认证成功后重定向页面,默认保存在叫做next查询字符串参数中(如/accounts/login/?...Django提供了permission_required装饰,它函数签名如下: permission_required(perm, login_url=None, raise_exception=False...如果既想抛出异常 ,又想跳转到登录页面,那么可以同时添加这2个装饰: from django.contrib.auth.decorators import login_required, permission_required

1.1K10

Python 项目实践三(Web应用程序)第五篇

为此,我们将使用Django提供默认登录视图,因此URL模式会稍有不同。...1 使用@login_required 限制访问 Django提供了装饰@login_required,让你能够轻松地实现这样目标:对于某些页面,只允许已登录用户访问它们。...装饰(decorator)是放在函数定义前面的指令,Python在函数运行前,根据它来修改函数代码行为。...login_required()代码检查用户是否已登录,仅当用户已登录时,Django才运行topics()代码。如果用户未登录,就重定向登录页面。...在 下 面的learning_logs/views.py 中, 对除index() 外每个视图都应用了装饰@login_required: @login_required def topics(request

1.3K80

【云+社区年度征文】Django认证系统并不鸡肋反而很重要

传统方法 使用request.user.is_authenticated判断,然后重定向登录页面: from django.conf import settings from django.shortcuts...它处理是这样: 如果用户没有登录,就重定向settings.LOGIN_URL(默认值/accounts/login/),同时把当前绝对路径添加到查询字符串中,如:/accounts/login...login_requiredredirect_field_name参数是指登陆认证成功后重定向页面,默认保存在叫做next查询字符串参数中(如/accounts/login/?...Django提供了permission_required装饰,它函数签名如下: permission_required(perm, login_url=None, raise_exception=False...如果既想抛出异常 ,又想跳转到登录页面,那么可以同时添加这2个装饰: from django.contrib.auth.decorators import login_required, permission_required

1.6K70

Django学习-第十一讲(下):视图高级(一)网页请求限制、HttpRequest、HttpResponse、JsonResponse对象

2.POST请求: POST请求一般是用来向服务提交数据,会对服务状态进行更改。比如提交一篇文章给服务。 2. 限制请求装饰 Django内置视图装饰可以给视图提供一些限制。...以下将介绍一些常用内置视图装饰 1.django.views.decorators.http.require_http_methods: 这个装饰需要传递一个允许访问方法列表 from django.views.decorators.http...比如用户访问了一个需要权限页面,但是该用户当前并没有登录,因此我们应该给他重定向登录页面。...暂时性重定向: http状态码是302,表示页面的暂时性跳转。比如访问一个需要权限网址,如果当前用户没有登录,应该重定向登录页面,这种情况下,应该用暂时性重定向。...to是一个url,permanent代表是这个重定向是否是一个永久重定向,默认是False。

1.1K20

Django源码学习-22-staff_member_required

Django网络应用开发5项基础核心技术包括模型(Model)设计,URL 设计与配置,View(视图)编写,Template(模板)设计和Form(表单)使用。...from django.contrib.admin.views.decorators import staff_member_required 限制只有后台权限用户才能登录django自带员工识别装饰...,识别只有is_staff 用户才能登录后台系统),如后台首页登录限制,无论是在网址栏上直接输入网址还是前端跳转,只要不是员工都无法访问到后台。...# 是否为后台员工识别装饰@staff_member_required(login_url='index')# 不是后台员工,无法登录后台,重定向前端首页def index(request):..."""后台管理首页""" return render(request, 'crm/index.html')# 是否为后台员工识别装饰 ?

74920

重新整理django中Auth模块

next=%s' % (settings.LOGIN_URL, request.path)) 页面中操作 {% if request.user.is_authenticated %} 如果里面有通过验证...user就为真没有就没否 四.登入装饰 login_requierd() auth 给我们提供一个装饰工具,用来快捷给某个视图添加登录校验。...若用户没有登录,则会跳转到django默认 登录URL '/accounts/login/ ' 并传递当前访问url绝对路径 (登陆成功后,会重定向该路径)。...如果需要自定义登录URL,则需要在settings.py文件中通过LOGIN_URL进行修改。...示例: LOGIN_URL = '/login/' # 这里配置成你项目登录页面的路由 五.密码相关 检验密码是否正确 check_password(password) auth 提供一个检查密码是否正确方法

1K10
领券