当前位置: 首页 > 面试题库 >

如何要求登录Django通用视图?

柴博
2023-03-14
问题内容

我想限制对Django通用视图处理的URL的访问。

对于我的观点,我知道login_required装饰器可以完成这项工作。同样,“创建/删除/更新通用视图” login_required也带有该参数,但是我找不到其他通用视图的方法。


问题答案:

对于Django <1.5,你可以通过将函数包装在url中来添加装饰器,从而可以包装通用视图:

from django.contrib.auth.decorators import login_required
from django.views.generic.simple import direct_to_template
urlpatterns = patterns('',
    (r'^foo/$', login_required(direct_to_template), {'template': 'foo_index.html'}),
    )

基于函数的通用视图在Django 1.4中已弃用,在Django 1.5中已删除。但是同样的原理也适用,只是用login_required装饰器包装基于类的视图的view函数:

login_required(TemplateView.as_view(template_name='foo_index.html'))


 类似资料:
  • 问题内容: 我正在尝试在自定义身份验证中覆盖is_authenticated。我有一个简单的东西(开始)是这样的: 然后在我的ModelResource中 我不断收到500错误。我在数据库中只有一个用户名,这是我要验证的用户。 关于它为什么返回此错误的任何想法?我将如何允许api客户端登录? 谢谢您的帮助。 问题答案: 您的方法将尝试使用您要进行身份验证的用户名创建一个新用户。正如您所注意到的,这

  • 问题内容: 我正在尝试在自定义身份验证中覆盖is_authenticated。我有一些简单的东西(开始),像这样: 然后在我的ModelResource中 我不断收到500错误。我在数据库中只有一个用户名,这是我要验证的用户。 关于它为什么返回此错误的任何想法?我将如何允许api客户端登录? 问题答案: 你的方法将尝试使用你要进行身份验证的用户名创建一个新用户。正如你所注意到的,这将在数据库层冒泡

  • 问题内容: 几分钟前,我轻松登录了django管理控制台。我必须更改某些以超级用户身份登录时导致此错误的地方: 禁止(403)CSRF验证失败。请求中止。 当我整夜登录时,此错误使我措手不及。为什么我突然需要一个CSRF令牌进行管理员登录?你会认为登录表单已经具有该功能。这是我的admin.py: 问题答案: 管理员登录通常确实需要一个csrf令牌,但是通常所有这些都需要你注意。 检查浏览器的co

  • 问题内容: 我应该如何向我的Django网站添加Google+ API登录? 问题答案: 首先,你必须为Google+创建OAuth凭据。 转到Google Developer Console 创建一个新项目。 转到“ API和身份验证”->“授权屏幕”,并为你的产品命名。点击“保存”。 转到“ API和身份验证”->“凭据”。在“ OAuth”下,单击“创建新的客户端ID”。添加“ http:/

  • 主要内容:静态网页,从数据库列表和显示数据在某些情况下编写视图代码,正如我们所看到前面工作真的很繁重。想象一下,只需要一个静态页面或列表页。 Django还提供了一种简单的方法来设置这些简单的视图被称为通用视图。 不同于传统的视图,一般的视图是一个类但没有函数。Django还提供了一组类 django.views.generic 通用视图,以及每一个普通视图是这些类或从它们中的一个类继承的。 有10+泛型类− 你可以使用通用视图。让我们来

  • 我目前正在研究房地产数据,想从StreetEasy中提取一些数据,这是一个低于挂牌价格。 示例url http://streeteasy.com/sale/1220187 我需要的数据需要登录,但登录机制是非常不同的。没有登录页面,登录是弹出式的。有没有我可以使用Python来获得身份验证并在登录后访问页面,就像下面的图片一样?