3

いくつかのアプリを含む django プロジェクトがあります。メインの urls.py には、有効にしたアプリの urls.py が含まれており、すべて問題ありません。

ここで、 http://testsite/にアクセスしたときに、 http://testsite/app/にアクセスしたときと同じページが表示されるように、プロジェクトを構成したいと思います。

プロジェクト urls.py 内のアプリ urls.py の対応する行を複製することでこれを行うことができますが、これは汚いと感じます。

誰もがより良い方法を知っていますか?

4

2 に答える 2

6

最初の URL から 2 番目の URL への redirect_to を設定します。

from django.conf.urls.defaults import patterns, url, include
from django.views.generic.simple import redirect_to

    urlpatterns = patterns('',
        # Example:
        url(r'^$', redirect_to, {'url':'/app/'}),
        url(r'^app/', include('app.urls')),
        # ...
    )

HTH

于 2009-01-09T10:59:04.663 に答える
1

同じリソースに対して複数の正規 URL を使用したくないため (Google ジュースを無駄にします)、リダイレクトが最適です。理想的には、サーバー リソースを節約するために、できるだけスタックの端に近い場所でリダイレクトを行う必要があります。したがって、Django redirect_to urlconf エントリを実行できますが、Apache または nginx または insert-your-webserver-here リダイレクトを使用した方がよいため、最初のリクエストが Django にまったくヒットする必要はありません。

于 2009-01-10T17:38:08.593 に答える