如何在Django中为每种语言创建一个URL

2024-09-27 00:14:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这些网址。三个都显示相同的内容。但是随着文本被翻译成他们的语言。 如何为每种语言管理dajngo中的URL

1:https://example.com/es/cursos

2:https://example.com/en/courses

3:https://example.com/de/schulungen

url必须根据所选语言进行更改。这是同一页


Tags: https文本com语言url内容esexample
1条回答
网友
1楼 · 发布于 2024-09-27 00:14:32

关于这类事情,我们一定要去Django文档,因为他们有一个关于如何处理它的很好的例子:

from django.conf.urls.i18n import i18n_patterns
from django.urls import include, path
from django.utils.translation import gettext_lazy as _


news_patterns = ([
    path('', news_views.index, name='index'),
    path(_('category/<slug:slug>/'), news_views.category, name='category'),
    path('<slug:slug>/', news_views.details, name='detail'),
], 'news')

urlpatterns = i18n_patterns(
    path(_('about/'), about_views.main, name='about'),
    path(_('news/'), include(news_patterns, namespace='news')),
)

# If english
# '/en/news/category/recent/'

# If netherlands
# '/nl/nieuws/categorie/recent/'

https://docs.djangoproject.com/en/3.0/topics/i18n/translation/#translating-url-patterns

相关问题 更多 >

    热门问题