объясните пожалуйста в общих чертах как решить следующую проблему
есть набор страниц. есть отдельная страница с формой(форма сделана при помощи модуля forms). мне нужно встроить форму в одну из страниц сайта таким образом чтобы на результирующей странице была информация страницы(вверху) и форма(внизу)
urls.py:
from django.conf.urls import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
import proj1.views.views
urlpatterns = patterns('',
url('^copyright$', proj1.views.views.copyright),
url('^contact_form$', proj1.views.views.contact_form),
)
views.py:
from django.http import HttpResponse, HttpResponseRedirect
from django import template
import datetime
import requests
from django.shortcuts import render_to_response, redirect
from django.core.mail import send_mail
from proj1.forms.forms import ContactForm
def copyright(request):
return render_to_response('copyright.html')
def contact_form(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
return HttpResponseRedirect('message_send')
else:
#form = ContactForm()
form = ContactForm(
initial={
'subject': 'I love your site!',
'hidden': 'I love hidden!'
}
)
return render_to_response('contact_form.html', {'form': form})
forms.py:
from django import forms
class ContactForm(forms.Form):
name = forms.CharField(required=True, label='Ваше имя', max_length=10)
email = forms.EmailField(required=False)
subject = forms.CharField(widget=forms.TextInput(attrs={
'autocomplete':'off',
'style':'border: 1px solid red'
}))
date = forms.CharField()
message = forms.CharField(widget=forms.Textarea)
member = forms.BooleanField()
hidden = forms.CharField(widget=forms.HiddenInput())
def clean_message(self):
message = self.cleaned_data['message']
num_words = len(message.split())
if num_words < 4:
raise forms.ValidationError("Not enough words!")
return message
так же eсть contact_form.html и copyrigh.html
мне нужно contact_form.html вставить в copyrigh.html . нужно затем чтобы в будущем на разных страницах была одна и та же форма(без дублирования кода шаблона)
пробовал при помощи {% include %} , но в этом случае поля формы не отображаются