Django - 如何覆盖 html 中的表单模板标签
Django - how to override form template tag in html
我正在从事非英语项目。我在注册的时候遇到了一个小问题
在我的注册中 html 我有 :
...
<form action="" style="text-align: center" method="POST">{% csrf_token %}
<ul style = "text-align: left">
{{user_form.as_p}}
</ul>
<input type="submit" value="Užsiregistruoti" onclick="validateForm()"/>
</form>
...
现在文本默认为英文。 {{user_form.as_p}}
从我的 forms.py:
中获取值
...
fields = ('username', 'password1', 'password2')
...
有没有办法保持表单值不变,并用我自己的语言重写 html 部分?我怎么做?我不能只获取 html 的生成部分并进行翻译,这样是行不通的。
您可以像这样在 model
中使用 verbose_name
:
field = models.CharField(max_length=200, verbose_name="your_language_here")
更多信息见here
如果您的 form
不是来自“模型, you can use
标签”而是像这样:
field = forms.CharField(label="your_language_here")
更多信息here。
您可以复制生成的 HTML(CSRFtoken 除外,您必须将其作为 {% csrf_token %})并更改标签内的值。
如果你想让它更易于维护并且更不容易出错,我会更改你的 forms.py.
中的表单标签 https://docs.djangoproject.com/en/1.8/ref/forms/fields/#label
无论如何,表单验证错误都是英文的。所以如果你想做对,你必须阅读 django docs on translation.
我正在从事非英语项目。我在注册的时候遇到了一个小问题
在我的注册中 html 我有 :
...
<form action="" style="text-align: center" method="POST">{% csrf_token %}
<ul style = "text-align: left">
{{user_form.as_p}}
</ul>
<input type="submit" value="Užsiregistruoti" onclick="validateForm()"/>
</form>
...
现在文本默认为英文。 {{user_form.as_p}}
从我的 forms.py:
...
fields = ('username', 'password1', 'password2')
...
有没有办法保持表单值不变,并用我自己的语言重写 html 部分?我怎么做?我不能只获取 html 的生成部分并进行翻译,这样是行不通的。
您可以像这样在 model
中使用 verbose_name
:
field = models.CharField(max_length=200, verbose_name="your_language_here")
更多信息见here
如果您的 form
不是来自“模型, you can use
标签”而是像这样:
field = forms.CharField(label="your_language_here")
更多信息here。
您可以复制生成的 HTML(CSRFtoken 除外,您必须将其作为 {% csrf_token %})并更改标签内的值。
如果你想让它更易于维护并且更不容易出错,我会更改你的 forms.py.
中的表单标签 https://docs.djangoproject.com/en/1.8/ref/forms/fields/#label无论如何,表单验证错误都是英文的。所以如果你想做对,你必须阅读 django docs on translation.