在 Pinax 中,如果我有一个需要登录的链接(即,我使用 @login_required 装饰器),我如何在登录后重定向到该链接,而不是重定向到“下一步是什么”???
谢谢
最佳答案
只需设置 LOGIN_REDIRECT_URL设置。
编辑
看来 Pinax 还支持另一种设置,LOGIN_REDIRECT_URLNAME ,它似乎与 LOGIN_REDIRECT_URL 执行相同的操作,但设置为 url 名称,大概这样您就不必在 settings.py 文件中调用 reverse
。
要获得更多“动态”重定向,pinax.apps.account.views.login查看使用pinax.apps.account.utils.get_default_redirect从以下位置查找重定向 URL:
- 名为“next”的 GET 或 POST 参数(默认情况下,但可以自定义)。
- LOGIN_REDIRECT_URL 设置
- LOGIN_REDIRECT_URLNAME 设置
get_default_redirect 中的代码实际上是在 session 中检查“redirect_to”键,该键可能包含设置中定义的值之一,因为该方法不会尝试查看django.conf.session
本身。然而,文档字符串声称它会检查这些设置,这似乎就是您在项目中遇到的情况。
关于django - 在 Pinax/Django 中,登录后如何重定向到链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5551840/