我在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错误页面。我错过了一些设置吗?
答案 0 :(得分:2)
URL由几部分组成,协议,带端口的主机,路径和参数。 '?'之后的一切是参数;在Django urlpatterns
中,您只提供路径,参数存储在request.GET
中。在您的示例中,路径为'',因此与IndexView
匹配。