こんにちは、アプリで複数の言語を使用していますが、この「?」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 スキームです。langes
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/