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

看看你自己的第一个 urlconf,而不是 jchat 的:

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

jchat.urls 将被“包含”的唯一时间是 url 是 mydomain/chatroom。

要完成这项工作,只需将其包含在没有“/聊天室”的情况下。

像这样:

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

该行应该在您的 urls.py 中的第一个。

于 2012-03-27T13:06:16.627 回答