首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法让Django-registration redux在`@login_required`上工作?

有没有办法让Django-registration redux在`@login_required`上工作?
EN

Stack Overflow用户
提问于 2015-07-28 18:56:55
回答 2查看 314关注 0票数 1

我在我的项目中使用了Django-registration redux,所以我不必为所有的登录细节而烦恼。但是,现在我使用login_required装饰器创建了一个视图,并且遇到了一个问题。问题是,当用户未登录时,装饰器通过重定向

代码语言:javascript
复制
/events/create_event/

代码语言:javascript
复制
/accounts/login/?next=/events/create_event/

这很好,但是特定的URL不在registration-redux的URL中,所以整个事情变得一团糟。有没有一种优雅的方法可以让django-registration-redux@login_required装饰器一起工作?

EN

回答 2

Stack Overflow用户

发布于 2015-07-28 19:11:09

登录页面

代码语言:javascript
复制
<form method="post" action="{% url 'login_view' %}?next=requst.META.HTTP_REFERER">
   {{form.as_p}}
<input type="submit" value="Login">
</form>

settings.py

代码语言:javascript
复制
TEMPLATE_CONTEXT_PROCESSORS = (
....
"django.core.context_processors.request",
)

views.py

代码语言:javascript
复制
def login_view(request):
   ......
   try:
      return redirect(request.GET['next'])
   except:
      return redirect('/') 
票数 1
EN

Stack Overflow用户

发布于 2015-07-28 21:23:37

我通过更改文件registration\auth_urls.py解决了这个问题

要添加

代码语言:javascript
复制
url(r'^login/(?P<next>\?next=(.*))', auth_views.login, {'template_name':'registration/login.html'}, name='auth_login_redirect'),

现在,一切都在正常运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31674291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档