我正在研究非英语语言的项目。我在注册时遇到了一些问题。
在我的注册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的生成部分并进行翻译,它不会那样工作。
答案 0 :(得分:1)
您可以在verbose_name
中使用model
,如下所示:
field = models.CharField(max_length=200, verbose_name="your_language_here")
更多信息,请参阅here
如果您的form
没有来自&#39;型号, you can use
标签,而是这样:
field = forms.CharField(label="your_language_here")
更多信息here。
答案 1 :(得分:1)
您可以复制生成的HTML(CSRFtoken除外,您必须将其作为{%csrf_token%})并更改标记内的值。
如果您希望更易于维护且不易出错,我会更改您的forms.py中的表单标签https://docs.djangoproject.com/en/1.8/ref/forms/fields/#label。
无论如何,表单验证错误将使用英语。所以如果你想做得对,你必须阅读django docs on translation。