Кнопка выхода из Джанго

Это может показаться глупым вопросом, но я не могу найти ничего, чтобы помочь. Как бы вы создали кнопку выхода из системы в каждом представлении, подобную той, что доступна на странице администратора?


person JohnnyCash    schedule 23.02.2012    source источник


Ответы (1)


Используйте наследование шаблонов: https://docs.djangoproject.com/en/dev/topics/templates/#template-inheritance или включить тег: https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#include

Пример с наследованием шаблона: у нас есть базовый шаблон для всех страниц нашего приложения:

base.html

<html>
<head>...</head>
<body>
    <a href="/logout">logout</a>  # or use the "url" tag: {% url logout_named_view %}

    {% block content %} {% endblock %}
</body>
</html>

other_pages.html

{% extends "base.html" %}
{% block content %}
    <div class="content">....</div>
    ....
    ....
{% endblock %}

Теперь у нас есть ссылка для выхода на всех страницах, унаследованных от base.html.

Пример с включенным тегом:

панель_пользователя.html

<div class="user_panel">
    <a href="/logout">logout</a>
</div>

другие_страницы

<html>
<head>...</head>
<body>
    {% include "user_panel.html" %}
    ...
    ...
</body>
</html>

Рекомендую для решения вашей проблемы использовать наследование шаблонов

person willfill    schedule 23.02.2012