0

これは、私のメイン プロジェクト フォルダーにある私の urls.py です。

from django.conf.urls.defaults import patterns, include, url
from django.contrib import admin

admin.autodiscover()

urlpatterns = patterns('polls.views',
   url(r'^$', 'mainindex'),
   url(r'^about/$', 'about'),
   url(r'^forum/', include('forum.urls')),
   url(r'^chatroom/$', include('jchat.urls')),
   url(r'^downloads/$', 'downloads'),
   url(r'^accounts/', include('registration.backends.default.urls')),
   url(r'^contact/$', 'contact'),
   url(r'^blogs/$', 'blogindex'),
   url(r'^blogs/(?P<blog_id>\d+)/$', 'blog'),
   url(r'^articles/$', 'articleindex'),
   url(r'^articles/(?P<article_id>\d+)/$', 'article'),
   url(r'^admin/', include(admin.site.urls)),
)

これは jchat.urls です。

from django.conf.urls.defaults import *

import settings 



urlpatterns = patterns('',

    url(r'^$', 'jchat.views.test'),

    url(r'^send/$', 'jchat.views.send'),

    url(r'^receive/$', 'jchat.views.receive'),

    url(r'^sync/$', 'jchat.views.sync'),

    url(r'^join/$', 'jchat.views.join'),

    url(r'^leave/$', 'jchat.views.leave'),

    url(r'^chatroom/$', 'jchat.views.chatroom'),

    url(r'^simple/$', 'jchat.views.simple'),

    url(r'^complex/(?P<id>\d)$', 'jchat.views.complex'),

    url(r'^accounts/login/', 'django.contrib.auth.views.login',     {'template_name':'login.html'}),

url(r'^static/(?P<path>.*)$', 'django.views.static.serve',

       {'document_root': settings.STATIC_ROOT}),

)

mydomain.com/chatroom のみを表示し、テスト ビューを正しくレンダリングするのに、urlconf で指定されていないと主張する他のページをレンダリングしない理由がわかりません。シンプルなビューを表示するリンクをクリックすると、/chatroom/simple ではなく /simple に移動し、URL に存在しないと表示されます。

4

1 に答える 1

0

jchat ではなく、自分の最初の urlconf を見てください。

url(r'^chatroom/$', include('jchat.urls')),

jchat.urls が「含まれる」のは、URL が mydomain/chatroom の場合のみです。

これを機能させるには、「/chatroom」なしでインクルードするだけです。

このような:

url(r'^', include('jchat.urls')),

その行は、urls.py の最初にある必要があります。

于 2012-03-27T13:06:16.627 に答える