2016-01-10 63 views
0

我有很多應用程序在我的網站上運行,我想讓所有的視圖都接受一個特定的kwarg,而不必手動編輯它們。有沒有辦法做到這一點?Django如何讓每個視圖接受kwarg?

我想我應該把它添加到django基本視圖類的某個地方,但我不確定在哪裏添加它到那裏?

任何想法?

編輯:

我所試圖做的是有根據一定的模型,我的數據庫集的翻譯,然後讓該網站默認的文本區域可以基於URL顯示在特定的語言......

/eng/some/url 
/esp/some/url 

這兩個網址會顯示不同的語言,但我捕捉到的變量,並把它放到這是相當繁瑣的

+0

你想用這個kwarg在哪裏?在模板中?你能多解釋一下嗎? – Alasdair

+0

兩件事: 1.你說你想讓所有的意見都接受某個kwarg,但是你說的是在模型中做一個改變,所以你不知道在哪裏(模型或視圖)需要一個kwarg 2.我認爲如果你想描述你需要kwarg的話,會更容易些,所以如果更多的django本地解決方案可用,它可以顯示給你 –

+0

我的意思是視圖而不是模型,我錯過了。我已經修改了措詞並添加了更簡潔的解釋。謝謝 – deltaskelta

回答

1

Django中已經有一些網址支持i18n,check it out每個視圖。您需要激活django.middleware.locale.LocaleMiddleware,方法是將其添加到您的settings.MIDDLEWARE_CLASSES,並通過用i18n_patterns包裝您的url來調整您的urlconf。

完整的例子在文檔中給出,我沒有意識到在這裏複製它。

+0

我明白了。我想我現在必須將我的項目轉換成這種方式。 Django使用的語言代碼有一點讓我感到困擾。我建立了很多關於ISO-639-2代碼的項目,這些代碼是3個字母的語言代碼......('eng',而不是'en')你有任何想法可以在Django中改變這個嗎? – deltaskelta

+0

我相信這很有可能。我想你應該從['settings.LANGUAGES'](https://docs.djangoproject.com/en/1.9/ref/settings/#languages)開始,另請參見[this question](http:// stackoverflow。 COM /問題/ 12946830 /如何到添加新的語言 - 到 - Django的我的語言 - 維吾爾或維吾爾 - 是 - 不SU)。 –

+0

它花了一段時間,但我轉換我的整個網站使用國際化的正確方式,謝謝 – deltaskelta