问题标签 [login-required]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django:在其他装饰器中重用 login_required 装饰器
根据我同意的https://stackoverflow.com/a/8715790/210481中的评论之一,如果一个依赖于另一个,我们应该避免使用多个装饰器。
因此,在示例中,如果我们有一个用于活动用户的装饰器“active_required”,我们不应该在同一个视图上同时使用 active_required 和 login_required。
我们应该在“active_required”中以某种方式“调用”“login_required”装饰器。
是否可以使用 django 附带的标准“login_required”装饰器来做到这一点?
我的要求是: 1)如果用户未通过身份验证,我应该将他重定向到 LOGIN_URL 2)如果用户通过身份验证(通过 login_required)但未激活,我应该将他重定向到一个页面以“重新激活”他帐户 3) 如果用户已通过身份验证并处于活动状态,则用户可以访问视图
提前致谢
django - 为什么我需要用@method_decorator 装饰login_required 装饰器
我正在尝试了解在此博客文章中发布的 mixins 的代码。
这些 mixin 从 mixins 中调用login_required
装饰器django.contrib.auth.decorators
,但它们是由method_decorator
from装饰的django.utils.decorators
。在下面的示例代码中,我不明白为什么我需要装饰login_required
装饰器。
method_decorator
装饰器说它用于“将函数装饰器转换为方法装饰器”但是在测试代码中,即使没有 method_decorator,我也可以使用我的装饰器。
我的装饰师
我的类直接调用上述装饰器产生的结果与调用装饰器的结果相同method_decorator
django - 当用户退出 Chrome 时,Django @login_required 视图仍会显示
::编辑::
@cache_control(no_cache=True, must_revalidate=True, no_store=True)
FTW!!!!
Cache-Control: no-cache, no-store, must-revalidate 成功了。花了几个 IRC chan 并环顾四周,但最后我让它工作了。
::编辑::
我有一个视图,我在其中设置了@login_required,并且大部分情况下它是安全的,但是如果您查看了视图,然后注销并点击浏览器中的后退按钮,您可以再次查看内容而不会被询问登录。尽管如果您刷新页面,服务器将重定向您。
我的暂停是一个缓存问题,也许我需要告诉 chrome 不要将其存储在历史记录中。
例如,如果您查看发票然后注销,您可以通过在您的历史记录中选择该页面再次查看发票。
我已经尝试过这个问题,没有问题。firefox 要求您登录后端,所以它一定是浏览器问题。
python - 如何将继续 url 传递给登录所需的装饰器
我有login_required
如下装饰器:
现在我有一个Page
(由单独的 呈现Handler
),我可以选择让用户上传可以由来宾和用户查看的图像。一旦表单被发布,它就会由另一个Handler
使用@login_required
装饰器的人处理。
我想要实现的是传递一个continue_url
变量,我可以在check_login
重定向时在函数中使用该变量,以便用户在登录后被重定向回同一页面。
django - Django中的@login_required内部函数
我对 Django 很陌生。在我的网站上,我试图做这样的事情
所以我的想法是从数据库中获取一些信息,如果用户登录则显示。我想知道,有没有办法做到这一点:
或者,如果您认为这样做是一种不好的做法,请给我一些想法如何以另一种方式做到这一点。可能我必须以某种方式更改 urls.py。
谢谢你。
python - Python 装饰器是做什么的,它的代码在哪里?
可能的重复:
理解 Python 装饰器
Python 装饰器有什么作用?当我将装饰器添加到方法时,我在哪里可以看到正在运行的代码?
例如,当我@login_required
在方法顶部添加时,是否有任何代码替换该行?这条线究竟是如何检查用户会话的?
django - 来自其他视图的 Django 注册和内容
我的情况如下。
我有一个 django 应用程序,它是一个 CMS,这个应用程序生成页面内容和菜单。
存在生成所有页面内容的“默认”视图。主要模型的字段之一旨在根据设置限制页面的可见性:
- “内部”(仅限于我们网络上的用户),
- 'worldwide'(通过 www 可见)现在,我想添加一个额外的值
- “安全”,这将仅限于登录到该站点的人查看。
我不认为@login_required 会起作用,因为它只适用于整个功能。
我们希望作者或编辑能够设置此标志,而不是编写特殊功能;并且会有页面从“内部”迁移到“安全”然后迁移到“全球”的情况 - 所以理想情况下,网址应该保持不变。
解决此问题的最佳方法是什么?在此先感谢...帕特里克
python - 浏览器在 @login_required 上正确重定向,但在使用 urllib2 时不正确
我正在使用 unnitest.TestCase 测试测试 Django 应用程序。
进入此页面的测试数据如下所示:
*为了完整起见:hosts['test'] 等于 'http://:' 它通过for host in hosts: ...调用 http_string_tester
我要检查的页面要求用户登录(此页面 url 是“/manager/”):
登录视图 ('/auth/login/') 如下所示:
当我运行测试时,我在日志中得到以下信息(来自 .manage.py runserver):
因此,看来我能够到达 /manager/ 但使用 302(重定向 - 这是有道理的),然后我被重定向到 /auth/login/?next=/manager/ 将我发送到 / manager/ 但再次返回 302 到 /auth/login/?next.... 这样它就告诉我它不接受此用户已登录。我已经验证当我点击我的应用程序时整个过程都有效。这些是步骤:
使用网络浏览器,我转到 http://:/manager/ 这会将我重定向到 http://:/auth/login/?next=/manager/ 我使用 'poster:poster' 登录的地方然后将我重定向到http://:/manager/ 我可以按预期看到页面。
FWIW,我的一项测试只是进入登录页面,可以登录并从输出中提取预期信息,但这似乎在这里不起作用。
我正在寻求一些指导。使用浏览器可以正确重定向我,但这个 urllib2 调用似乎没有这样做。我希望有人能解释为什么这不能像我预期的那样工作。如果您需要任何进一步的信息,请告诉我。
更新:
响应标头分别来自每个打开的:
python - 登录所需的装饰器,具有许多可能的 HTML 用于相同的 URL
我想限制对 django 通用视图提供的 url 的访问。我已经研究了登录所需的装饰器,但在让它工作方面只取得了部分成功,因为我有一个文档中没有解决的并发症(或者至少我找不到它)。
在添加装饰器之前,在 urls.py 我有以下内容:
上面命名的搜索函数稍微复杂一点,它会根据各种条件呈现四个可能的 html 页面之一。
我在文档中没有看到使用装饰器处理多个 html 页面的方法,而且我似乎无法找出正确的语法。
我已经尝试将装饰器与四个 html 页面之一一起使用,它确实适用于那个 html 页面:
但是我如何要求所有可能的 html 登录?例如,我尝试过这样的事情:
我还尝试对通用视图进行子类化:
//在view.py中
//在urls.py中
但是我得到了 template_name_1 和 template_name_2 不存在的错误......
任何帮助表示赞赏。
python - Django 1.5.1 login_required 装饰器未捕获未经身份验证的用户
我有一个非常典型的 view/login_required 装饰器实现,据报告,有时一天两次,QA 团队会遇到这个错误:
我检查了一下,视图确实有一个 login_required 装饰器。其他也用 login_required 装饰的视图也有报道。
视图的回报是:
仅供参考: ctx 实例存储在会话中,并且经常在视图调用之间更新。我继承了这个设计,对此我无能为力。处理这个的函数是: