Кнопка выхода из Django - PullRequest
       39

Кнопка выхода из Django

2 голосов
/ 23 февраля 2012

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

1 Ответ

9 голосов
/ 23 февраля 2012

Используйте наследование шаблонов: 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

Пример с тегом include:

# user_panel.html #
<div class="user_panel">
    <a href="/logout">logout</a>
</div>

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

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

...