2

私は本番環境で django プロジェクトを持っていますが、現時点では 1 つのアプリしか含まれていません。私のドメインがmyproject.comで、私のアプリが と呼ばれているとしましょうmyapp。インデックスを にしmyproject.com/ないでmyproject.com/myapp/ください。

これは私myproject/urls.pyのように見える方法です:

urlpatterns = patterns('',
url(r'^myapp/', include('myapp.urls')),
...

そしてmyapp.urls.py

urlpatterns = patterns('myapp.views',
url(r'^$', 'about'),
...

myproject.com でアプリを利用できるようにするにはどうすればよいですか? それとも、.htaccess などでリダイレクトする必要がありますか?

4

1 に答える 1

5

urls.pyこれにあなたを再定義する必要があります

urlpatterns = patterns('',
    url(r'^$', include('myapp.urls')),
...

これにより、「/」へのすべての呼び出しがキャプチャされます。

これにより、「ルート」からのすべての URL が有効になります。それからもちろんmyapp.urls、ウェブブラウザに入れられたときに意味をなすように、自分で書かなければなりません。

アップデート

それで、大雑把なチャットの後: これは、純粋なコード単位で必要だと思うことです。

あなたの根でurls.py

url(r'', include('myapp.urls')),

あなたの myapp.urls で

urlpatterns = patterns('myapp.views',
    url(r'^$', 'first_view'),
    url(r'^evilCellphones/$', 'another_view'),
)

ここで本質的に起こることは、myapp.urls名前空間を含めないことですが、Django はまだそれをロードするため、新しく定義した URL を含めます。そこから、すべての URL を再定義して、「myproject」と同じ名前空間に従うようにすることができます。

ドキュメントのこの部分は、それを本当によく説明しています

于 2013-03-01T08:53:13.307 に答える