gpt4 book ai didi

python - 如何更改表单中显示的字段名称

转载 作者:太空宇宙 更新时间:2023-11-03 16:57:08 25 4
gpt4 key购买 nike

我已经完成了该项目,但我想更改 forms.py 中显示的字段名称。例如,在我的表单中,人们可以在名为“名称”的表单中编写一些内容,但我想将此“名称”更改为“标题”。我该如何实现这一目标?

目前在我的 forms.py 中

class PostForm(forms.ModelForm):

name = forms.CharField(max_length=128, help_text="plz enter")

url = forms.URLField(max_length=200,
help_text="Please enter the URL of the page.", required=False)
views = forms.IntegerField(widget=forms.HiddenInput(), initial=0)
class Meta:
model = Post
widgets = {
'category':Select2Widget,
}
exclude = ['pub_date', 'moderator', 'rank_score','slug', 'image', 'thumbnail']

在我的 models.py 中

class Post(models.Model):
category = models.ForeignKey(Category)

还有 url 字段。

在我的 html 文件中,我这样做

 {{ form|crispy }}

比如说,我想将类别更改为社区,名称更改为标题,我该怎么做?我正在考虑将这些更改为本地化,因为我真正想做的只是将英语翻译成其他语言。但由于某种原因它不起作用。 forms.py 中的标签是我唯一的选择吗?

最佳答案

您应该(正如您所说)通常使用 forms.py 上的 label 参数来更改向用户显示的标签

from django.utils.translation import ugettext_lazy as _

class PostForm(forms.ModelForm):
name = forms.CharField(
label=_('Title'),
...
)
....

除了在表单上使用 label 之外,您还可以在模型上使用 verbose_name

class Post(models.Model):
category = models.ForeignKey(Category, verbose_name=_('Community'))

请注意,更改模型字段的 verbose_name 将影响 Django admin 显示该字段的方式,以及使用该模型的任何模型表单中的默认标签。

对于国际化 (i18n) - 您应该引用 documentation 。简而言之,您需要对应翻译的字符串执行以下操作:

from django.utils.translation import ugettext_lazy as _

# if the translation data exists
_('This string will be translated')

关于python - 如何更改表单中显示的字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35330031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com