我没有代码问题,但有点审美,我试图用Django简单登录到一个应用程序,并能够使用Google输入,当我把标签输入时,我希望它像通常那样直接将用户引导到Google,但标签将他们发送到中间Allaut界面,然后按下另一个按钮并继续,我想跳过那个界面,但我试过了,它总是指引我去那里
项目的URL:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('accounts/', include("allauth.urls")),
path('', include("pagina.urls"))
]
字符串
app的url:
from django.urls import path
from . import views
urlpatterns = [
path("", views.home),
path("logout", views.logout_view)
]
型
按钮的代码:
{% load socialaccount %}
<h1>Google Login</h1>
<a href="{% provider_login_url 'google' %}?next=/">Login with Google</a>
型
1条答案
按热度按时间rta7y2nd1#
您称为“中间allauth接口”的页面和您使用GET请求调用的页面,只是提供了一个按钮,用于继续使用POST请求登录。
你也可以
1.更改初始页面上的按钮以直接发起POST请求,而不是GET到登录url或
下面是https://django-allauth.readthedocs.io/en/latest/configuration.html:
SOCIALACCOUNT_LOGIN_ON_GET(=False)控制用于发起社交登录的端点(例如,“/accounts/google/login/”)是否需要POST请求来发起握手。出于安全考虑,强烈建议要求POST请求。
有两个具有类似背景的其他设置:ACCOUNT_CONFIRM_EMAIL_ON_GET ACCOUNT_LOGOUT_ON_GET