使用django表单实现完全自定义

时间:2014-01-15 13:59:00

标签: django forms twitter-bootstrap

我有一个包含以下字段的模型

class Entry(models.Model):
    title = models.CharField(max_length=50)
    comments = models.TextField()
    start = models.DateField()
    end = models.DateField()
    remind = models.BooleanField()

和一个模型

class EntryForm(models.Model):
    class Meta:
        model = Entry

我想使用bootstrap 3渲染表单。我可以使用相同类型的表单渲染表单,例如所有字段都是水平的,或者将它们分成三行连续。如何更多定制。像

 <label title>
 <input title>
 <label comments>
 <input comments>
 <label start>        <label end>
 <input start>        <input end>
 <label remind><input remind>

我想这应该手动完成。我怎么知道我在模板中引用的表单的哪个字段。我的意思是哪个字段是标题,是评论吗?这是正确的(假设视图已经将表单参数传递给模板)类似于

<label for={{form.title.auto_id}}>Title</label>
{{form.title}}

是正确的吗?现在我可以放置任何div并安排表格字段,因为我喜欢正确吗?这是正确的方法吗? 一种形式的django有多强大?

1 个答案:

答案 0 :(得分:0)

这是一个想法...... Django拥有广泛而精心编写的文档:
https://docs.djangoproject.com/en/dev/topics/forms/#customizing-the-form-template

而不是猜测随机事物,你可以阅读文档。

此外,还有许多Django应用程序旨在简化以Bootstrap样式输出表单HTML,例如:

https://github.com/dyve/django-bootstrap3(推荐)
https://github.com/dyve/django-bootstrap-toolkit
https://github.com/tzangms/django-bootstrap-form