Проблема с перенаправлением на предыдущую страницу после входа в - PullRequest
2 голосов
/ 06 июля 2011

С этим кодом: urls.py

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

и тамплатой так:

<a href="{% url django.contrib.auth.views.login %}?next={{request.path}}">Login</a>

, которая перенаправляет на страницу с этим кодом:

      {% if not user.is_authenticated %}
      <form method="post" action="">{% csrf_token %}
          {{ form.as_p }}
        <input type="submit" value="Zaloguj" />
        <input type="hidden" name="next" value="" />
      </form>
      {% else %}
      <h1>Już jestes zalogowany chujku</h1>
      {% endif %}

У меня есть контекстный процессор 'django.core.context_processors.request', но после входа в систему я перенаправлен на

accounts/profile/

Когда я нахожусь на странице входа, URL-адрес: /accounts/login/?next=/gallery/newest/.Более того, после входа в систему я вошел в систему, но я все еще в /accounts/login/?next=/gallery/newest/1/.У меня есть ошибки в этом коде или ответ лежит где-то еще?

Ответы [ 2 ]

0 голосов
/ 06 июля 2011

Наконец я нашел ответ. Я думаю, что этот код не использовал мой собственный шаблон login.html (но если я ошибаюсь, пожалуйста, исправьте меня):

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

Я изменяю это на:

               url(r'^login/',
                   "django.contrib.auth.views.login", {'template_name': 'login.html'}),

Затем я изменяю свой временный код login.html на:

  <form method="post" action="">{% csrf_token %}
      {{ form.as_p }}
    <input type="submit" value="Zaloguj" /> 
    <input type="hidden" name="next" value="{{ next }}" />

  </form>

У меня нет более глубокого значения того, что произошло, но этот код, который я скопировал здесь, работает. Спасибо всем за предложения. Это помогает мне найти ответ и немного лучше понять некоторые вещи.

0 голосов
/ 06 июля 2011

Просто удалите <input type="hidden" name="next" value="" /> из вашей формы, это заставит django думать, что переменная next пуста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...