0

私はDjangoWebサイトのチュートリアルに従っていますが、それを拡張しようとしています。すべてのアプリを「apps」フォルダーに入れるという組織的なスキームが好きです。すべてをリンクするためにurls.pyを含める適切な方法を見つけようとしています。

これが私のルートurls.pyです:

from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    (r'^polls/', include('apps.polls.urls')),
    (r'^admin/', include(admin.site.urls)),
)

これがapps/polls /urls.pyにある私のurls.pyです:

from django.conf.urls.defaults import *

urlpatterns=patterns('polls.views',
    (r'^polls/$', 'index'),
    (r'^polls/(?P<poll_id>\d+)/$', 'detail'),
    (r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
    (r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
)

これを行う正しい方法は何ですか?ありがとう!

4

3 に答える 3

2

現在設定している方法...投票のURLは次のようになります。

http://your.url.here/polls/polls/235/results/

これはおそらくあなたが望むものではありません。ルートurls.pyファイルのinclude関数は、投票アプリのすべてのプレフィックスとして指定します。したがって、polls / urls.pyファイルでは、プレフィックスが重複するため、プレフィックスを再度指定しないでください。urlpatterns"polls/"urlpatterns"polls/"

于 2010-12-27T16:27:46.160 に答える
0

Djangoインスタンスをどのように実行していますか?Apacheで複数のvhostを構成している場合、/apps内の各Djangoインスタンスには独自のurls.pyがあります。

于 2010-12-27T16:17:51.917 に答える
0

私はこれを行うことでそれを機能させました:

urlpatterns=patterns('polls.views',
    (r'^$', 'index'),
    (r'^(?P<poll_id>\d+)/$', 'detail'),
    (r'^(?P<poll_id>\d+)/results/$', 'results'),
    (r'^(?P<poll_id>\d+)/vote/$', 'vote'),
)

投票の部分はルートurlconfで処理されていると思います

于 2010-12-27T16:26:27.790 に答える