Как я могу объединить логин на весь сайт с шаблонным наследованием? - PullRequest
0 голосов
/ 11 мая 2011

1.У меня есть шаблон base.html, который просто описывает сайт (простой простой base.html). 2. У меня есть шаблон split_screen.html, который расширяет базовый HTML-файл и выглядит так:

{% extends "base.html" %}

{% block content %} - this is the part that changes in base.
    <div id="top"> 
        here come the login form and under it a logo and then a top nav pannel 
    </div>
    <div id="right">
        here come a static right nav pannel that never change, so there is no need for a block
    </div>
    <div id="main">
        {% block main%}
        this is the main part, this is the only thing that will change with every page in (all the files) that will extend from split_screen.html (every other page in the site).
        {% endblock %}
    </div>
{% endblock %}

Хорошо, я думаю, что сейчас время для вопроса ... Итак, то, что я ищу и не могу найти (или, может быть, просто не могу понять, как реализовать), это способ использования наследования шаблонов и все еще иметь этот логинБэкэнд-представление, которое я построил (используя электронную почту вместо имени пользователя) реализовано .... Я просто не могу понять это, потому что каждый пример, который я читаю, ссылается на логин как на собственную страницу, мне нужно, чтобы он был встроен в этостраница (или нет?).

Может ли кто-нибудь помочь с этим?

1 Ответ

0 голосов
/ 11 мая 2011

Хорошо, я решил эту проблему, я не хотел использовать промежуточное программное обеспечение и не использовал его, но, комбинируя полезные руководства и советы, я думаю, что получил все.

  1. создайте основной шаблон (extends base.html), который будет иметь множество других вещей, форму
  2. создайте шаблон mamber, который унаследует это.
  3. создать простое представление индекса (в главном каталоге вашего сайта, в котором ничего нет, кроме обратного рендера для основного шаблона, который вы создаете) (для загрузки главной страницы при загрузке сайта
  4. Второе представление - это бэкэнд для входа в систему с процессом аутентификации "/backend.py", который будет возвращать пользовательский экземпляр пользователя, который выполнил успешное ведение журнала, или None of not
  5. создайте пользовательское представление входа в систему, которое получит запрос. ПОСТ для полей emain и пароля (после проверки того, что вы находитесь в сообщении - так что вы не получите плохие результаты и, возможно, удвоите публикацию и тому подобное) получите пользовательский экземпляр из метода backend auth и проверьте, если не None, а затем, если is_valid, если оба переходят на страницу memeber, если не переходят на одну и ту же страницу (будет get, но по умолчанию, поэтому вам не придется ставить в конце просмотреть редирект для рендеринга для этого случая (того же уровня, что и request.POST if.

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

на данный момент кажется, что он работает отлично, если у кого-то есть вопросы или замечания, я буду рад их услышать ... 10x

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