簡體   English   中英

Django URL 翻譯依賴於 URL 前綴語言代碼

[英]Django URL translation dependent on URL prefix language code

我正在嘗試使用 Django 翻譯系統將 Django 字典應用程序國際化。 我已成功翻譯了網站上的大部分內容,但在翻譯 URL 模式時遇到了問題,管理頁面除外。

我的目標是根據 URL 中的前綴語言代碼更改內容和 URL 的語言。 例如:

www.example.com/en/dictionary/define    // (content in English)
www.example.com/it/dizionario/definisci // (content in Italian)
www.example.com/fr/dictionnaire/définis // (content in French)
...

我檢查了關於這個的 Django 文檔( https://docs.djangoproject.com/en/3.1/topics/i18n/translation/#translating-url-patterns )但發現它很模糊,無法真正理解它。

項目級urls.py

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

from dictionary import views as dictionary_views

urlpatterns = [
    path('admin/', admin.site.urls),
]

dictionary_patterns = ([
    path('', dictionary_views.index, name='index'),
    path(_('define/'), dictionary_views.define, name='define'),
    path(_('define/<slug:headword_slug>'), dictionary_views.headword, name='headword'),
], 'dictionary')

urlpatterns += i18n_patterns(
    path(_('dictionary/'), include(dictionary_patterns, namespace='dictionary')),
)

至於特定於應用程序的urls.py ,我不知道在那里做什么。 我應該從上面導入dictionary_patterns變量並將其添加到應用程序的urlpatterns列表中嗎? 我應該完全刪除應用程序的urls.py文件嗎?

有人可以幫忙嗎?

只需嘗試在 urlpatterns 中添加導入包含,例如

在項目/urls.py

from django.conf.urls import include

path('en/dictionary/',include('app URL here with extension.url'),
path('it/dizionario/',include('app URL here with extension.url'),
path('fr/dictionnaire/',include('app URL here with extension.url'),

在 Appname/urls.py

   urlpatterns = [
   url(r'^define$/',views.name of view,name=''),
   url(r'^definisci/$',views.name of view,name=''),
   url(r'^définis/$',views.name of view,name=''),

看看這個: https : //docs.djangoproject.com/en/3.1/topics/http/urls/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM