如何在基于Django类的表单上编辑文本

时间:2019-04-15 20:47:35

标签: python html django

我正在尝试编辑渲染到模板中表单的文本。但是我找不到在基于类的视图中只能在基于函数的视图中做到这一点的方法。

enter image description here

在上图中,我想将文本“ image”更改为“ thumbnail”。

视图(编辑和创建视图):

class PostCreateView(LoginRequiredMixin, PostEdit, CreateView):
    fields = ['title', 'youtube_url', 'text', 'image', 'job_type']

    def form_valid(self, form):
        form.instance.author = self.request.user
        return super().form_valid(form)

class PostUpdateView(LoginRequiredMixin, PostEdit, UpdateView):
    fields = ['title', 'youtube_url', 'text', 'image', 'job_type']

HTML:

<form method="post" enctype="multipart/form-data">
    {% csrf_token %}
    {{ form|crispy }}
    <input type="submit" class="btn btn-success" value="Publish">
</form>

谢谢大家。

1 个答案:

答案 0 :(得分:1)

有几种更改ModelForm的字段标题的方法。其中之一是使用字段的verbose_name属性。在您的情况下,您可能具有这样的模型:

class MyModel(models.Model):
    image = models.ImageField(...)
    # Some other fields

您需要做的是将其更改为以下内容:

class MyModel(models.Model):
    image = models.ImageField(..., verbose_name='Thumbnail')

然后Django在为verbose_name实例化ModelForm时将使用提供的MyModel