こんにちは、アプリで複数の言語を使用していますが、この「?」www.asd.com/reg/?lang=es
を削除できる方法はありますか? のような URL でアクセスできます。私のURLからのようになり 、複数言語の機能も適切に機能しています。www.asd.com/reg/es
ありがとう
こんにちは、アプリで複数の言語を使用していますが、この「?」www.asd.com/reg/?lang=es
を削除できる方法はありますか? のような URL でアクセスできます。私のURLからのようになり 、複数言語の機能も適切に機能しています。www.asd.com/reg/es
ありがとう
で url にアクセスすると、ビューに value?lang=es
という名前のパラメーターが表示されます。これは一般的な HTTP URL スキームです。lang
es
django では、適切な URL パターンを使用して同様のことができます。例えば:
url(r'^reg/(?P<lang>[\w]+)$', 'your_app.views.view_func',),
そして視野に
def view_func(request, lang=None):
...
# lang will have value passed.
# do your stuff
したがって、にアクセスするwww.asd.com/reg/es
と、パラメーターlang
はビューに値を持ちますes
。
Django 1.4 では、このような URL をネイティブでサポートしています - i18n_patterns
. 私が理解しているように、これにはアプリがありましたdjango-i18nurls
が、それはdjangoコアに含まれていました
またdjango-localeurl
、これにはアプリケーションを使用できます ( BitBucket で入手可能)。パッチを適用するミドルウェアと、ロケール URL を取得するためrequest.path
の django の機能があります。reverse
おそらく、このアプリには代替手段があります
ただし、このソリューションは URL を形式で提供しますwww.asd.com/es/reg/