2013-07-12 3 views
1

내 문제는 정확한 다음 경로 대신 @login_required이 루트 페이지로 리디렉션된다는 것입니다. /accounts/login/?next=/main/setka/은 로그인 한 후 /main/setka/ 대신 '/'으로 리디렉션됩니다.Django @login_required '다음'잘못된 리디렉션

아무도 도와 줄 수 있습니까?

코드 :

헤드 URL을

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

loginsystem.urls

(r'^login/$', 'django.contrib.auth.views.login'), 

/주/urls.py

(r'^setka/$', views.setka), 

와 해당보기에 내 링크 의 데코레이터 '/'홈페이지 login.html이

{% load staticfiles %} 

<link rel="stylesheet" type="text/css" href="{% static 'accounts/style.css' %}" /> 

{% if form.errors %} 
<p class="error">Sorry invalid</p> 
{% endif %} 
<body> 
<form action="/accounts/auth/" method="post"> {% csrf_token %} 
<label for="username">User name:</label> 
<input type="text" name="username" value="" id="username"> 
<label for="password">password:</label> 
<input type="password" name="password" value="" id="password"> 

<input type="submit" value="login" /> 
<input type="hidden" name="next" value="{{next}}" /> 

</form> 
</body> 

URL 체인이 좋아 포함

@login_required 
def setka(request): 
    return render_to_response('main/setka.html') 

<li><a href="/main/setka/">Setka</a></li> 

loginsystem.views

: '루트 /'-> 루트/계정/로그인 /? 'root/main/setka /'대신 'next/main/setka/->'/ '를 입력하십시오.

제안 사항을 보내 주시면 감사하겠습니다.

구체적으로 루트 주소에 '다음'경로를 동적으로 첨부하고 싶지만 '다음'경로는 전혀 첨부하지 않습니다.

+0

그것은'루트/계정/로그인/다음 =/루트/주/setka /'을해야하지? URL이 유효합니까? 그냥 브라우저에서 확인하십시오. ('mydomain.com/main/setka/'로 리디렉션하려고합니다) – karthikr

+1

@karthikr : 우리는 많은 로그인 URL 질문을하고있는 것처럼 보입니다. 정말로 빠른 검색 만하십시오. –

+0

@GamesBrainiac 중복되는 질문이 있으면 그것을 중복으로 표시하십시오. 경우에 따라 검색 결과가 사용 된 검색어로 인해 결과를 얻을 수없는 경우가 있습니다. – karthikr

답변

1

단순한 LOGIN_URLLOGIN_REDIRECT_URL을 원하는 경로 (settings.py)로 변경해야합니다. 예를 들어

:

LOGIN_URL = '/login/' 
LOGIN_REDIRECT_URL = '/user/accounts/' 
+0

경우에 따라 맞춤 리디렉션 URL을 하드 코딩하고 싶지 않습니다. 루트 주소에 '다음'경로를 동적으로 첨부하려고합니다. 내가 놓친 게 있니? – vspr

+0

@vspr : 그럼 그냥 거기에 정규식을 넣으십시오. 문제 없어. –

관련 문제