python - 如何将Django的评论表单默认标签名称更改为中文?

标签 python django django-forms

我正在使用 Django 的内置评论应用程序。但我遇到了一个问题。

评论表单的默认标签是英文(例如“姓名”、“电子邮件地址”),但我想将它们更改为中文。所以我去 site-packages/django/contrib/comments/forms.py 并修改它们如下:

name          = forms.CharField(label=_("姓名 Name"), max_length=50)
email         = forms.EmailField(label=_("邮箱 Email"))
url           = forms.URLField(label=_("网站 URL"), required=False)
comment       = forms.CharField(label=_("评论 Comment"), widget=forms.Textarea,
                               max_length=COMMENT_MAX_LENGTH)

但是当我再次运行服务器时它失败了,它说

SyntaxError: Non-ASCII character '\xe5' in file /usr/lib/python2.7/site-packages/django/contrib/comments/forms.py on line 98, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

所以我去了http://www.python.org/peps/pep-0263.html并在 forms.py 文件的头部添加“# --coding: utf-8 --”。高兴的是,我可以运行服务器了。但是当我进入评论页面时,评论表格消失了!

谁能告诉我这是怎么回事?以及如何修复它?

最佳答案

Django 的评论 应用 is already translated to Chinese ,您不需要自己这样做。

您只需要enable internationalization在你的 Django 配置中:

USE_I18N = True

LANGUAGES = (
  ('zh_CN', 'Chinese'),
)

您可以回滚对 django/contrib/comments/forms.py 文件所做的所有更改。

关于python - 如何将Django的评论表单默认标签名称更改为中文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14149210/

相关文章:

python - 在特定字符串开始后查找方括号外的文本

python - 如何在 Django 中使用复选框在 MySQL 中输入 1 或 0?

python - 更新用户个人资料时 upload_to 不起作用?

python - 在用户发送的 Django 管理页面中显示数据

python - python asyncore 使用 AF_UNIX 套接字的问题

python - 是否可以在 jupyter 中重定向单元格输出

python - 删除 Ttk Notebook 选项卡虚线

Django 转移到 PostgreSQL 无法导入固定装置,说明数据太长

django - django独特领域

django - 如果值为空,则自定义 Django Rest Framework Serializer 字段未运行 `to_representation()`