2013-09-29 2 views
1

Итак, в основном моя домашняя страница ('^ $') - это страница входа в систему и после входа пользователя в систему, она отправляет его на другую страницу, где находится кнопка выхода из системы. В моем шаблоне кнопка выхода - это просто ссылка.django Как перенаправить на домашнюю страницу из шаблона

<a href="">Logout</a> 

что должно сказать внутри href? Обычно, если я хочу перенаправить на другое представление, я бы поместил имя вида в кавычки, но представление домашней страницы просто «^ $», поэтому я попытался оставить его пустым в цитатах, которые не сработали. Я также пробовал делать

<a href="/^$">Logout</a> 

который потерпел неудачу. Любая идея о том, как это сделать?

ответ

5
<a href="">Logout</a> 

будет ссылаться на текущую страницу (в основном перезагрузки страницы)

Try:

<a href="/">Logout</a> 

Если localhost:8000/ является URL вы пытаетесь предназначаться

Рекомендуемый способ это:

<a href="{% url myapp.views.home_page %}">Logout</a> 

Где myapp и home_page относятся к имени приложения и имени представления соответственно.

В качестве альтернативы You can Name a URL Pattern:

url(r"^$", 'my_view', name="homepage") 

Теперь, вы могли бы сделать

<a href="{% url homepage %}">Logout</a> 

Если> Джанго 1.5,

<a href="{% url 'homepage' %}">Logout</a> 
+0

Ах, совершенен. Я думаю, мне нужно просто изменить все мои ссылки на теги {%%}. Благодаря! Итак, в моих представлениях, если я хочу перенаправить на другое представление, например, «если пользователь не является None: auth.login (запрос, пользователь) возвращает перенаправление ('/ loggedin_view /')« могу я просто сделать »return redirect ({% url myapp.views.loggedin_view%}) "? – user2817200

+1

В представлении '{%%}' не работает. Вы можете использовать 'redirect (reverse ('myapp.views.loggedin_view'))' – karthikr

+0

hm wait, поэтому, когда я изменил его на «a href =» {% url myapp.views.home_page%}, «это дало мне ошибку, говоря «url» требует непустого первого аргумента. Синтаксис изменен в Django 1.5, см. Dos. «Я предполагаю, что я должен помещать кавычки вокруг« myapp.views.home_page »? Хорошо, добавив, что кавычки работали. Perfect. – user2817200

Смежные вопросы