로그인 후 어떤 이유로 LOGIN_REDIRECT_URL이 가리키는 곳으로 리디렉션되지 않지만 빈 페이지/accounts/login/code 200에 남아 있습니다. 따라서 로그인 후 빈 페이지가 표시되고 내 LOGIN_REDIRECT_URL에 새로 고침 (F5). 새로 고침 후 성공적으로 로그인했습니다.Django & Allauth 로그인 리디렉션 문제
ACCOUNT_LOGOUT_REDIRECT_URL이 제대로 작동하고 코드 302를 반환하고 빈 페이지없이 직접 리디렉션되지만 LOGIN_REDIRECT_URL은 (는) 그렇지 않습니다. 새로 고침 후 LOGIN_REDIRECT_URL을 변경하면 변경된 위치로 리디렉션됩니다. 정상적으로 작동합니다. 하지만 처음에는 항상 빈 페이지/accounts/login /에 머물러 있습니다. 왜 이런 일이 일어나는지 알 수 없습니다.
AllAuth LoginView에서 오류 메시지가 나타나지 않았습니다.
표시 할 코드가 많지 않습니다. 이것은 내장 django와 저의 django 버전의 다른 응용 프로그램에서 successfuly 사용 된 allauth 기능입니다. 이것은 장고 1.10.1이 설치된 첫 번째 프로젝트입니다. jquery 모바일 기능을 갖춘 첫 번째 모바일 프로젝트이기도합니다.
<a class="login_link" href="#popupLogin" data-rel="popup" data-position-to="window" class="" data-transition="pop">Login</a>
<div data-role="popup" id="popupLogin" data-theme="a" class="ui-corner-all">
<form id="login_form" method="POST" action="{% url 'account_login' %}">
{% csrf_token %}
<div style="padding:10px 20px;">
<h3>Please sign in</h3>
{{loginForm.login}}
{{loginForm.password}}
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<button type="submit" class="ui-btn ui-corner-all ui-shadow ui-btn-b ui-btn-icon-left">Sign in</button>
</div>
</form>
{% if loginForm.errors %}
{% for field in loginForm %}
{% for error in field.errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endfor %}
{% for error in loginForm.non_field_errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endif %}
</div>
그리고 여기가 터미널에 무슨 :
로그 아웃 :
[14/Sep/2016 06:36:18] "POST /accounts/logout/ HTTP/1.1" 302 0
[14/Sep/2016 06:36:24] "GET/HTTP/1.1" 200 12295
로그인 :
DEBUG = True
ALLOWED_HOSTS = ['*']
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
#'django.contrib.flatpages',
'appconf',
'avatar',
'myApp',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'allauth.socialaccount.providers.google',
'django.contrib.admin',
'lockdown',
]
MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
#'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
'lockdown.middleware.LockdownMiddleware',
]
LOGIN_REDIRECT_URL = '/'
ACCOUNT_LOGOUT_REDIRECT_URL = '/'
이는 로그인 양식입니다 : 그래서 여기 내 설정이다
[14/Sep/2016 06:36:34] "POST /accounts/login/ HTTP/1.1" 200 46
로그인 후 6,
수동 새로 고침 :
[14/Sep/2016 06:37:00] "GET /accounts/login/ HTTP/1.1" 302 0
[14/Sep/2016 06:37:00] "GET/HTTP/1.1" 200 11434
UPDATE 계정 가입에 대한 allauth을 사용할 때 같은 문제가 나타납니다 . url accounts/signup /는 가입 양식이 포함 된 실제 템플릿으로 리디렉션하기 위해 새로 고쳐 져야하는 빈 페이지입니다. 나는 아직 해결하지 못했다.
이 잠금 프로그램은 무엇인가요? – e4c5
Lockdown은 아무도 간섭하지 않고 작업 할 수 있도록 장벽을 페이지 앞에 둡니다. 그것은이 이슈와 관련이 없으며, 나는 그것을 꺼버 렸습니다. 행동은 같습니다. – Stefan