在这个最新的项目中,我使用了一个简单的联系人表单,它解析为url /email/。我也想把这个表格包括在主页上。在过去,当我在视图中有一个页面类时,我会使用get_context_data,但我是第一次将cookiecutter用于简洁的表单,我不知道在哪里做,甚至不知道这是不是正确的事情。
下面是forms.py:
from django import forms
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Div, Submit, HTML, Button, Row, Field
from crispy_forms.bootstrap import AppendedText, PrependedText, FormActions
from crispy_forms.layout import Submit
class ContactForm(forms.Form):
contact_name = forms.CharField(required=True)
contact_email = forms.EmailField(required=True)
content = forms.CharField(required=True, widget=forms.Textarea)
# the new bit we're adding
def __init__(self, *args, **kwargs):
super(ContactForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = Layout(
Field('contact_name', placeholder="Full Name", autofocus=""),
Field('contact_email', placeholder="Email Address"),
Field('content', placeholder=""),
Submit('sign_in', 'Submit', css_class="btn btn-info"),
)
self.fields['contact_name'].label = "Your name:"
self.fields['contact_email'].label = "Your email:"
self.fields['content'].label = "Your message:"在/ ...and /上完美呈现的电子邮件。我如何让这个表单也出现在首页上?
如果需要的话,下面是urls.py:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^email/$', views.email, name='email'),
url(r'^success/$', views.success, name='success'),
]发布于 2017-09-24 05:41:36
您可以执行以下操作:
“
{% for field in form %}
<div class="form-group">
<div class="inner form">
<span class="text-danger small">{{ field.errors }}</span>
</div>
<label class="control-label col-sm-2" for="song_title">{{
field.label_tag }}</label>
<div class="col-sm-10">{{ field }}</div>
</div>
{% endfor %}中使用以下内容将此模板包括在首页中
{% include 'form.html' %}我希望这能帮到你。
https://stackoverflow.com/questions/46384050
复制相似问题