我们如何为Django模型表单使用html <input type =“”/>?

时间:2017-12-13 11:05:45

标签: html django forms django-models django-forms

使用这个django模型形式,我们不能创造美丽的前端。

<form method="POST" action="">
    {% csrf_token %}
    <div class="esor">
       Name: {{form.Name}}<br>
       Class: {{form.Class}}<br>
       Publisher: {{form.Publisher}}<br>
    </div>
    <input type="submit" value="submit">
</form>

没有任何方法可以使用html代码,如:

<form method="GET" action="#">
 <input type="text" name="name" placeholder="Name of book">
</form>

而不是{{form.Name}}或{{form.as_p}}

3 个答案:

答案 0 :(得分:1)

是的,您可以通过这种方式获得漂亮的界面,只需传递您在form.py中使用的名称

实施例

<强> forms.py

class NameForm(forms.ModelForm):
    class Meta:
        model = MyModel
        fields = [
            "whatever"
        ]

Html模板

<form method="POST">{% csrf_token %}
    <input type="text" name="whatever" placeholder="Write whatever">
</form>

答案 1 :(得分:0)

我通常使用两种方法:

安装widget tweaks,以便您轻松自定义输入:

{% load widget_tweaks %}
{{ form.Name|add_class:"css_class"|attr:"placeholder:Name of book" }}

或2,在forms.py中,为字段设置所需的所有属性:

Name = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Name of book'}))

答案 2 :(得分:0)

您可以通过将输入元素的名称与表单字段的名称相同来执行此操作。您可以通过在html中显示{{form}}然后检查浏览器中的表单字段来获取表单字段的名称,然后该字段的name属性将是表单字段的名称。