首页 > 解决方案 > 使用 Django 和 AllAuth 登录后不重定向到我自己的视图

问题描述

我正在熟悉 Django,我正在尝试使用 django-allauth,但我发现的问题是登录后我无法重定向到自己的视图。分享一段代码:

这是我在 login.html 模板中的表单:

<form action="{% url 'webapp:home' %}" method="post" class="margin-bottom-0">
            {% csrf_token %}
   ...
 </form>

这是我的应用程序中定义的 url.py:

app_name = 'webapp'

urlpatterns = [
    path(route='', view=views.HomeView.as_view(), name='home'),
]

我还定义了我的命名空间:

path("workspace/", include("picnic.webapp.url", namespace="webapp")), 

现在,每次登录成功时,我都会得到 URL: http: //127.0.0.1 :8000/accounts/login/?next=/workspace/与登录匹配,它再次将我重定向到登录页面......怎么能我强制 allauth 将我发送到http://127.0.0.1:800/workspace而不是 URL 当前正在发送给我?

问候

标签: djangodjango-formsdjango-viewsdjango-templatesdjango-allauth

解决方案


文档

声明您必须设置:

login_redirect_url在您的设置中

并且您的登录表单存在问题,该操作指定表单发布到的 url,默认来自allauth

action="{% url 'account_login' %}"

检查您是否将来自 allauth 的 url 包含在 base 中urls.py

url(r'^accounts/', include('allauth.urls')),

编辑:

我想 picnic.webapp.url应该是picnic.webapp.urls


推荐阅读