首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个HTML页面上使用Django表单

问在多个HTML页面上使用Django表单
EN

Stack Overflow用户
提问于 2017-09-24 04:33:46
回答 1查看 123关注 0票数 0

在这个最新的项目中,我使用了一个简单的联系人表单,它解析为url /email/。我也想把这个表格包括在主页上。在过去,当我在视图中有一个页面类时,我会使用get_context_data,但我是第一次将cookiecutter用于简洁的表单,我不知道在哪里做,甚至不知道这是不是正确的事情。

下面是forms.py:

代码语言:javascript
复制
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:

代码语言:javascript
复制
from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^email/$', views.email, name='email'),
    url(r'^success/$', views.success, name='success'),
]
EN

回答 1

Stack Overflow用户

发布于 2017-09-24 05:41:36

您可以执行以下操作:

  1. 创建一个form.html文件并在其中编写以下代码。

“

代码语言:javascript
复制
{% 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 %}

  1. 在首页模板

中使用以下内容将此模板包括在首页中

代码语言:javascript
复制
{% include 'form.html' %}

  1. 将视图中的表单实例传递给showUp所需的模板,这将确保此表单也显示在首页模板上。

我希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46384050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档