在Django中使用多语言URL配置
在Django中配置多语言URL,需要使用Django的内置国际化(i18n)功能,具体步骤如下:
- 在settings.py中配置语言支持,例如:
LANGUAGES = ( ('en', _('English')), ('zh-hans', _('Simplified Chinese')), )
- 在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')), )
- 在应用的urls.py中配置具体的URL路由,例如:
from django.urls import path from .views import hello_world urlpatterns = [ path('hello/', hello_world, name='hello-world'), ]
- 在视图中使用翻译函数,例如:
from django.shortcuts import render from django.utils.translation import gettext as _ def hello_world(request): return render(request, 'hello.html', {'msg': _('Hello World!')})
- 在模板中使用翻译函数,例如:
{% load i18n %} <h1>{% trans "Hello, World!" %}</h1>
这样配置后,访问/pidancode.com/hello/将会显示英文,访问/zh-hans/皮蛋编程/hello/将会显示汉语。
相关文章