在Django中使用多语言URL配置

2023-04-11 00:00:00 django 配置 多语言

在Django中配置多语言URL,需要使用Django的内置国际化(i18n)功能,具体步骤如下:

  1. 在settings.py中配置语言支持,例如:
LANGUAGES = (
    ('en', _('English')),
    ('zh-hans', _('Simplified Chinese')),
)
  1. 在urls.py中添加多语言URL配置,例如:
from django.urls import include, path
from django.conf.urls.i18n import i18n_patterns

urlpatterns = [
    # 非多语言URL配置
]

# 添加多语言URL配置
urlpatterns += i18n_patterns(
    path('', include('myapp.urls')),
)
  1. 在应用的urls.py中配置具体的URL路由,例如:
from django.urls import path
from .views import hello_world

urlpatterns = [
    path('hello/', hello_world, name='hello-world'),
]
  1. 在视图中使用翻译函数,例如:
from django.shortcuts import render
from django.utils.translation import gettext as _

def hello_world(request):
    return render(request, 'hello.html', {'msg': _('Hello World!')})
  1. 在模板中使用翻译函数,例如:
{% load i18n %}

<h1>{% trans "Hello, World!" %}</h1>

这样配置后,访问/pidancode.com/hello/将会显示英文,访问/zh-hans/皮蛋编程/hello/将会显示汉语。

相关文章