如何把django表格整理好?

时间:2016-05-09 01:50:27

标签: django summernote

我正在尝试将summernote添加到我的网站上,但似乎它搞砸了我的表单。

我希望标题是第一个,image_url是第二个,文本是最后一个。

这是问题的图像:

enter image description here

表单

class ProjectForm(forms.ModelForm):

    class Meta:
        model = ProjectPost
        fields = {'title', 'image_url', 'text'}
        widgets = {
            'text': SummernoteInplaceWidget(),
        }

模型

class ProjectPost(models.Model):
    title = models.CharField(max_length=120)
    author = models.ForeignKey('auth.User')
    image_url = models.CharField(max_length=1000, blank=True, null=True)
    text = models.TextField()

    def __str__(self):
        return self.title

2 个答案:

答案 0 :(得分:2)

字段按照在元类的fields属性中定义的顺序呈现。

出于某种原因,您已将这些字段定义为 set {'title', 'image_url', 'text'}这是一个无序集合,这就是您的字段无法随意渲染的原因。

将fields属性更改为有序集合,如列表或元组,您的问题应该解决:

class ProjectForm(forms.ModelForm):

class Meta:
    model = ProjectPost
    fields = ['title', 'image_url', 'text']
    widgets = {
        'text': SummernoteInplaceWidget(),
    }

答案 1 :(得分:0)

如果 form.py 中的字段顺序正确,则应检查 html

<form>
    {{form.text}}
    {{form.image_url}}
    {{form.title}}
</form>

并将其替换为:

<form>
    {{form.title}}
    {{form.image_url}}
    {{form.text}}
</form>