我正在尝试编辑渲染到模板中表单的文本。但是我找不到在基于类的视图中只能在基于函数的视图中做到这一点的方法。
在上图中,我想将文本“ 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>
谢谢大家。
答案 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