Django:在尝试使用domain.com/admin时,404会使用旧的不存在的urls文件

时间:2010-11-27 15:34:21

标签: python django url settings

我在某个时候有一个看起来像这样的网址文件:

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
# Example:
url(r'^$', 'girls.views.home', name = 'home'),
url(r'^registerasboy$', 'girls.views.regb', name= 'regb'), 
#url(r'^registerasgirl$', 'girls.views.reg', name= 'regg'),
url(r'^thankyou$', 'girls.views.thankyou', name= 'thankyou'),
url(r'^newchick$', 'girls.views.newchick', name= 'newchick'),
url(r'^chicks$', 'girls.views.chicks', name= 'chicks'),
#url(r'^thankyou$', 'generalsettings.views.thankyou', name = 'thankyou'),
# Uncomment the admin/doc line below to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),
#url(r'^reg$', 'generalsettings.views.home'),
# Uncomment the next line to enable the admin:
#(r'^admin/', include(admin.site.urls)),
#(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root':     settings.MEDIA_ROOT}),
)

该网站有效。我没有管理员。所以我决定取消注释管理线,我会得到错误404

  

找不到页面(404)
  请求方法:GET
  请求网址:http://chicklister.com/admin

Using the URLconf defined in chick.urls, Django tried these URL patterns,
in this order:
^$ [name='home']
^registerasboy$ [name='regb']
^thankyou$ [name='thankyou']
^newchick$ [name='newchick']
^chicks$ [name='chicks']
^/(?P<path>.*)$
The current URL, admin, didn't match any of these.

这很奇怪,因为这里缺少管理线。现在,我进一步更新了我的网址:

  

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

但我得到了管理员:

Using the URLconf defined in chick.urls, Django tried these URL patterns,
in this order:
^$ [name='home']
^registerasboy$ [name='regb']
^thankyou$ [name='thankyou']
^newchick$ [name='newchick']
^chicks$ [name='chicks']
^/(?P<path>.*)$
The current URL, admin, didn't match any of these.

然而,根据打印的url文件中的行,任何其他网址如www.domain.com/thankyou

这怎么可能?好像它已经在某个地方被记住了。

我做的步骤: 在www中查找整个文件夹中的'registerasboy'并且不再返回任何内容。 我更改了模板上的文字,以确保我正在更新正确的副本。 我在settings.py中有以下设置:

  

ROOT_URLCONF ='urls'   我注意到并没有真正做任何事情,因为在开始时它是chic.urls

我做错了什么?我似乎甚至不再拥有这样的内容......

1 个答案:

答案 0 :(得分:2)

在黑暗中拍摄:

您是否在INSTALLED_APPS中添加了admin,执行了syncdb并重新启动了服务器?

如果将Apache与mod_wsgi一起使用,则重新启动服务器非常有用。它不会检测代码中的更改,因此您需要手动重新加载它。

开发服务器自动重新加载代码。

以下是有关此问题的完整信息: http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode