【发布时间】:2014-05-19 01:12:05
【问题描述】:
每当我尝试访问我网站上的“blog/”时,Django 都会给我一个 404 错误,但我已经定义了我想要的 URL,它们应该与之匹配。
主 urls.py:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
from blog import views
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'mySiteProject.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
)
blog.urls.py:
from django.conf.urls import patterns,url
from blog import views
urlpatterns = patterns(
url(r'^$',views.index,name='index')
)
404 页面:
Page not found (404)
Request Method: GET
Request URL: http://localhost:8000/blog/
Using the URLconf defined in mySiteProject.urls, Django tried these URL patterns, in this order:
^admin/
The current URL, blog/, didn't match any of these.
网站结构:
mySiteProject
blog
admin.py
models.py
tests.py
views.py
urls.py
__init__.py
mySiteProject
wsgi.py
settings.py
urls.py
__init__.py
manage.py
db.sqlite3
已安装的应用程序:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog'
)
【问题讨论】:
-
你的文件叫 blog.urls.py 吗?您能否分享一下您的项目中不同的源文件是如何组织的,即项目的目录结构?
-
一个愚蠢的问题:您是否将编辑保存在主 urls.py 中?鉴于您的错误消息,您的服务器似乎没有注册更改。
-
@shaktimaan:是的。我会用不同的文件更新帖子。
-
@SteinarLima:是的,我已经保存了。每当我转到不同的 URL 时,它都会显示“blog/”正在尝试。
-
如果我错了,请纠正我,但我相信
patterns需要一个前缀作为其第一个参数,后跟零个或多个参数。所以我相信blog.urls.py中的urlpatterns = patterns(url(r'^$',views.index,name='index'))应该是这样的:urlpatterns = patterns('', url(r'^$', views.index, name='index'))。