2016-12-10 10 views
0

.장고는 다음 기본보기로 리디렉션 내가 로그인 아니에요과 응용 프로그램이 페이지를 로그인하고 점점 다음 매개 변수가 작동 (예 : 저를 리디렉션하는 동안 페이지를 입력하기 위해 노력하고있어

localhost:8000/login/?next=/blog/add/

나는 로그인과 암호를 입력하고 로그인 버튼을 클릭하면하지만 홈 페이지로 다음 매개 변수에, 저것이 아니라 나를 리디렉션

localhost:8000, not localhost:8000/blog/add/

이 할 수 있도록 나는 기본 장고 로그인보기를 사용하고 있습니다 이것은 채널이없는 로그인보기에서 무엇인가 분노하고 있습니까?

모든 것은 django에서 기본값입니다. 로그인 페이지로 리디렉션하는 동안 (@login_required (login_url = 'login')을 사용하여) 다음 매개 변수 만 추가하면 Django가 다음 매개 변수로 로그인 한 후 리디렉션하는 기능을 내장하고 있다고 들었습니다. 아무것도 더 필요하지 않습니까?

urls.py

url(r'^login/$', 
     django.contrib.auth.views.login, 
     { 
      'template_name': 'user/login.html', 
      'authentication_form': user.forms.BootstrapAuthenticationForm, 
      'extra_context': 
      { 
       'title': 'Logowanie', 
       'year': datetime.now().year, 
      } 
     }, 
     name='login'), 

login.html

<form action="" method="post" class="form-horizontal"> 
       {% csrf_token %} 
       <h4>Uzyj konta LDAP zeby sie zalogowac</h4> 
       <hr /> 
       <div class="form-group"> 
        <div class="col-md-10"> 
         {{ form.username }} 
        </div> 
       </div> 
       <div class="form-group"> 
        <div class="col-md-10"> 
         {{ form.password }} 
        </div> 
       </div> 
       <div class="form-group"> 
        <div class="col-md-10"> 
         <input type="hidden" name="next" value="/" /> 
         <input type="submit" value="Zaloguj" class="btn btn-primary btn-block btn-pb" /> 
        </div> 
       </div> 
       {% if form.errors %} 
       <p class="validation-summary-errors">Please enter a correct user name and password.</p> 
       {% endif %} 
      </form> 
+0

코드를 표시해야합니다. –

답변

0

문제는 당신이 당신의 템플릿 /next 변수를 하드 코딩 한 것입니다 :

<input type="hidden" name="next" value="/" /> 

당신은 변경해야 사용하려면 {{ next }} :

<input type="hidden" name="next" value="{{ next }}" /> 
+0

문제가 해결되었습니다. 그것은 그렇게 나쁘지 않았습니다 ... 그것에 대해 생각하지 않았습니다 ... 감사합니다. – mover