无效的Django URL不显示错误页面

时间:2014-07-13 06:47:22

标签: python django

我在Django中遇到问题,即使用不存在的分页URL仍会加载默认页面。

url.py 如下:

from django.conf.urls import patterns, include, url
from django.contrib import admin
from account.views import ProfileView
from photo.views import IndexView

admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'photofolio.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),
    url(r'^$', IndexView.as_view(), name = 'index'),
    url(r'^admin/', include(admin.site.urls)),,
    #url(r'^$', TestView.as_view(), name = 'main'),
)

当加载诸如127.0.0.1/?page=99之类的URL时,虽然只有2页,但加载了dafault页面。对于任何其他无效URL 127.0.0.1/abc,将显示Not Found错误页面。我错过了一些设置吗?

1 个答案:

答案 0 :(得分:2)

URL由几部分组成,协议,带端口的主机,路径和参数。 '?'之后的一切是参数;在Django urlpatterns中,您只提供路径,参数存储在request.GET中。在您的示例中,路径为'',因此与IndexView匹配。