【问题标题】:Can I change the language of UserCreationFrom() html to Spanish?我可以将 UserCreationForm() html 的语言更改为西班牙语吗?
【发布时间】:2020-03-09 09:27:52
【问题描述】:

我已经在我的 django 应用程序中创建了一个注册页面,供用户介绍他们的用户名和密码并注册,我想知道我是否可以将 UserCreationForm() 显示的 HTML 文本更改为西班牙语。

这是我目前的代码:

Forms.py

class LoginForm(forms.Form):
     Username = forms.CharField(label = 'Username', max_length = 50)
     password = forms.CharField(label= 'Password', max_length = 50)

Views.py

def register(request):
    if request.method == 'POST':
       form = UserCreationForm(request.POST)

    if form.is_valid():
        form.save()
        username = form.cleaned_data['username']
        password = form.cleaned_data['password1']
        user = authenticate(username=username, password=password)
        login(request, user)
        return redirect('login')
else:
    form = UserCreationForm()

context = {
    'form' : form
}
return render(request, 'registration/register.html', context)

网址.py

urlpatterns = [
path('registration/', views.register, name='register'),
]

注册.html

<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Register</title>
</head>
<body>
    <h1>Pagina de Registro</h1>
    <form method= "post" action="{% url 'register' %}">
        {% csrf_token %}

        {% if form.errors %}
        <p>Hay errores en el formulario</p>
        {% endif %}

        {{ form.as_p }}

        <input type="submit" value="Register">
    </form>
</body>
</html>

HTML 页面在浏览器中显示此内容,我想将 HTML 文本更改为西班牙语,但由于函数自己创建它,我想知道是否可以这样做。

【问题讨论】:

  • 请提供您的表单代码。
  • Daniel 说:即使你只使用西班牙语,你也应该将语言设置为“es”,Django 会自动使用西班牙语版本作为默认文本。并使用{{ form.as_p }}(或 as_table 或 as_u)获得格式更好的表单。
  • 我更改了 form.as_p 并且有效,但即使我在 HTML 文件中将语言更改为西班牙语,它仍然以英文显示,我不知道是不是因为它没有为 userCreationForm 翻译。
  • 您可以将{{ form.as_p}} 替换为自定义表单并改用西班牙语。

标签: django python-3.x forms


【解决方案1】:

不确定这是否曾经得到回答,但我发现这样做的方法是转到 settings.py 文件并将 LANGUAGE_CODE 设置为“es”:

LANGUAGE_CODE = 'es'

然后我刷新了,它对我来说很好,希望有效。

语言代码es 以西班牙语显示数据。

这里是language codes的列表

【讨论】:

    猜你喜欢
    • 2020-10-03
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    相关资源
    最近更新 更多