direct_to_template
сам по себе не может ни создавать, ни обрабатывать формы - он просто обрабатывает запрос непосредственно к шаблону, как описывает его имя.
Вы можете посмотреть django-registration для регистрации.
Если вы размещаете две формы на одной странице, вам понадобится настраиваемое представление, способное отображать и обрабатывать обе формы, хотя с несколькими формами общеизвестно сложно работать должным образом.,Если у вас есть отдельные формы (и кнопки отправки), вы можете добавить уникальное имя к каждому входу отправки и определить, какую форму (класс) нужно проверять и обрабатывать на основе if name in request.POST
.
edit:
После более внимательного изучения вашего кода я вижу, что ваша регистрационная форма перенаправляет в другое представление;это упрощает работу, но вам все равно понадобится настраиваемое представление для домашней страницы, которое передает формы входа и регистрации в шаблон для рендеринга.
В качестве альтернативы, если вы просто перенаправляете на страницы, которые обрабатывают каждую форму, вы можете добавить эти формы, используя extra_context
параметр *1019* непосредственно в вашем urls.py:
from wherever import LoginForm, RegistrationForm
urlpatterns = patterns('djangoproject1.authentication.views',
(r'^$',
direct_to_template,
{
'template': 'authentication/index.html',
'extra_context': {
'reg_form': RegistrationForm(),
'login_form': LoginForm()
}
}
),
(r'^register/$', 'register'),
)
Этот подход не самый чистый, но это вариант, если вы действительно хотел использовать общие представления.