在模板中,{{field.value|capfirst}}
等常用语句将字符串的首字母大写。
<input type="text" name="{{field.name}}" value="{{field.value|capfirst}}">
在我的模板中,我没有显式定义输入字段,而是使用了以下内容:
{% for field in form %}
{{ field }}
{% endfor %}
如果我使用{{field|capfirst}}
,它将无法工作。正如您可能猜到的,我的所有字段都以forms.py
给出,例如:
class MyForm(forms.ModelForm):
name = forms.CharField()
description = forms.CharField()
class Meta:
model = Project
fields = ('name', 'description')
如何在forms.py
中定义capfirst
(或者views.py
或templatetags
)?我想在我的模板中保留一个简单的for循环,如上所示。正如你所看到的,我只想大写field.value
的第一个字母以在屏幕上显示它,而不需要将此信息传输到数据库(不需要更新),我只是想在屏幕上显示它...可能吗?
1条答案
按热度按时间qzwqbdag1#
要在表单提交后将首字母大写,可以在表单中使用clean_ method修改值,然后再将其呈现在表单上,如下所示:
capitalize()是一个python函数,它将字符串的第一个字母大写
www.example.com的目的forms.py是为你呈现表单元素,你可以在Django表单呈现器中添加属性,添加类,修改值.如果你想修改表单输入的HTML,那么不要使用forms.py,写一个普通的HTML表单,用request.post.get()接收它.