Форум сайта python.su
Здравствуйте,
Я совсем новичок в связке Python+Django, и надеюсь, умные мира сего легко дадут мне совет. Я постараюсь описать проблему и вопрос как можно подробнее (ну и вдобавок я пока плохо представляю, какие элементы принципиальны, а какие нет), чтобы Вам было проще дать корректный совет, так что не ругайтесь на многабукоф.
Мне нужно усовершенствовать существующий сайт, добавив на каждую страницу возможность регистрации. Не ссылку, которая направит на страницу с регистрацией, а именно сами поля Имя, EMail, Пароль… (не спрашивайте, зачем так, просто задание). Сам сайт построен по стандартной Django-модели, соответственно, у меня есть класс-форма UserRegisterForm, есть метод register, который обрабатывает форму UserRegisterForm ну и в зависимости от POST/GET либо возвращает чистенький direct_to_template(request, ‘register.html’, {“form”: form,}), либо, если POST, то вытаскивает из формы нужные данные, регистрирует пользователя и бросает пустышку: direct_to_template(request, ‘register.html’). Да, шаблон register.html тоже есть, который описывает страничку регистрации.
Страницы сайта, которые меня интересуют, имеют формат <левая колонка><центр><правая колонка>, и шаблон для каждой странички строится по принципу:
{% block left %}{% include "left.html" %}{% endblock %}
{% block right %}{% include "right.html" %}{% endblock %}
{% block center %}<интересный код>{% endblock %}
Отредактировано (Янв. 9, 2012 13:06:48)
Офлайн
Anatoly.KДа, правильный. Можете.
Тут первый вопрос - это правильный подход? Могу ли я использовать контекстный процессор для своей задачи?
Anatoly.KДостаточно формы. Обрабатывать запросы должна всё та же функция register, которую вы описали. Они никуда не девается.
Теперь второй вопрос - а что именно мне нужно сбросить в контекстный процессор? Форму? Но как я тогда смогу обрабатывать POST/GET?
Офлайн
Спасибо за совет, вроде всё сделал.
Контекстный процессор (register_co_pr) возвращает простую форму (UserRegisterForm), она подхватывается в шаблоне таким образом:
{% include "register_snippet.html" with form=register_co_pr %}
Офлайн