Как насчет простой модификации представлений в приложении, которое я повторно использую, чтобы включить дополнительный аргумент, чтобы увидеть, используется ли он как SUBVIEW (и, следовательно, не возвращать render_to_response ()), и проверить «FORMNAME» вданные запроса.Затем, если SUBVIEW (представление приложения, которое я повторно использую) находит свое «FORMNAME» в запросе. POST обрабатывает форму.Если данные request.POST не предоставлены, он вернет словарь со всеми элементами формы, а не render_to_response ().Затем я могу вызвать эту функцию в моем представлении для главной страницы и передать возвращенный словарь значений в мой шаблон вместе с любыми другими компонентами.При отправке вызывается функция, и если она находит «Имя формы» в данных запроса. POST (это «Имя формы» может находиться в скрытом поле, она будет обрабатывать эту форму, в противном случае она возвратитсловарь элементов формы, и на мой взгляд будет вызвана следующая функция, которая может быть связана с представлением django.contrib.django-registration.register (). Это приведет к ULTIMATE RE-USABILITY!
Thisспособ, которым я также получаю доступ к form.errors !!
Мой взгляд:
def index(request):
login = django.contrib.register.login(request, ... , Subview=True)
register = django.contrib.register.register(request, ... , Subview=True)
return render_to_response('index.html', {'login_form': login, 'register_form': register})
В качестве альтернативы я мог бы разветвлять каждое приложение и изменять его ..., что противоречит цели повторного использованияприложение является независимым пакетом, а скорее обрабатывается как сложная вставка кода.