3

こんにちは、アプリで複数の言語を使用していますが、この「?」www.asd.com/reg/?lang=es を削除できる方法はありますか? のような URL でアクセスできます。私のURLからのようになり 、複数言語の機能も適切に機能しています。www.asd.com/reg/es

ありがとう

4

2 に答える 2

2

で 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

于 2012-10-25T05:23:44.487 に答える
2

Django 1.4 では、このような URL をネイティブでサポートしています - i18n_patterns. 私が理解しているように、これにはアプリがありましたdjango-i18nurlsが、それはdjangoコアに含まれていました

またdjango-localeurl、これにはアプリケーションを使用できます ( BitBucket で入手可能)。パッチを適用するミドルウェアと、ロケール URL を取得するためrequest.pathの django の機能があります。reverseおそらく、このアプリには代替手段があります

ただし、このソリューションは URL を形式で提供しますwww.asd.com/es/reg/

于 2012-10-25T09:09:00.527 に答える