【问题标题】:Django-jchat url include errorDjango-jchat url 包含错误
【发布时间】:2012-04-11 00:13:39
【问题描述】:

这是我的主项目文件夹中的 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 ,它仍然说它在网址中不存在。

【问题讨论】:

  • 顺便说一句,我注意到论坛包含旁边缺少的 $,但即使我添加了它也没有任何区别。

标签: python django urlconf


【解决方案1】:

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

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

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

要完成这项工作,只需在不包含“/chatroom”的情况下包含它。

像这样:

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

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

【讨论】:

  • 当我这样做时,将 jchat 设置为我不想要的索引页面,虽然我注意到它归结为包含上的 $,但我只是摆脱了它的工作原理现在。谢谢。
猜你喜欢
  • 2012-04-13
  • 1970-01-01
  • 2017-05-08
  • 1970-01-01
  • 1970-01-01
  • 2015-04-21
  • 1970-01-01
  • 2015-10-20
  • 2016-09-10
相关资源
最近更新 更多