Python 如何分析地址?

Python 如何分析地址?,python,django,Python,Django,请帮助配置URL.py 我的网站的根页面 mysite.com/ 包含对子页面的多个引用 mysite.com/page1/ mysite.com/page2/ mysite.com/page3/ url.py我设置如下: urlpatterns = patterns ('', url (r '^ blog /', include ('blog.urls')), url (r '^ admin /', include (admin.site.urls)),     url (r '^ (.

请帮助配置URL.py

我的网站的根页面

mysite.com/
包含对子页面的多个引用

mysite.com/page1/
mysite.com/page2/
mysite.com/page3/
url.py我设置如下:

urlpatterns = patterns ('',
url (r '^ blog /', include ('blog.urls')),
url (r '^ admin /', include (admin.site.urls)),
    url (r '^ (. *) /', 'mysite.views.base_page', name = 'base_page'),
    url (r '^ $', 'mysite.views.base_page', name = 'base_page'),
)
view.py:

from django.http import HttpResponse, HttpResponseRedirect, Http404
from django.template import loader, RequestContext


def base_page(request):
    t = loader.get_template('base_page.html')
    c = RequestContext(request, {})
    return HttpResponse(t.render(c))  
因此,当我转到mysite.com/page1/时,我会收到以下错误消息:

ps 值得注意的是,没有出现上述错误:

urlpatterns = patterns('',
    url(r'^blog/', include('blog.urls')),
    url(r'^admin/', include(admin.site.urls)),
    #url(r'^(.*)/', 'mysite.views.base_page', name='base_page'),
    url(r'^$', 'mysite.views.base_page', name='base_page'), 
)

错误本身就解释了,因为有太多的参数

base_page () takes one positional argument but were given 2
当您加载page
mysite.com/page1/
时,django会逐个搜索url模式,并加载第一个匹配的模式,在本例中,这是以下行:

url(r'^(.*)/', 'mysite.views.base_page', name='base_page'),
问题是django如何将参数传递给视图。根据报告:

Django如何处理请求 当用户从Django支持的站点请求页面时,系统将按照以下算法确定要执行的Python代码:

  • Django确定要使用的根URLconf模块。通常,这是ROOT_URLCONF设置的值,但如果传入的HttpRequest对象具有名为URLCONF的属性(由中间件请求处理设置),则将使用其值来代替ROOT_URLCONF设置

  • Django加载Python模块并查找变量 URL模式。这应该是一个Python列表,格式为 函数django.conf.urls.patterns()

  • Django按顺序运行每个URL模式,并在与请求的URL匹配的第一个模式处停止

  • 一旦其中一个正则表达式匹配,Django就会导入并调用给定的视图,该视图是一个简单的Python函数(或基于类的视图)该视图被传递以下参数:HttpRequest的实例。如果匹配的正则表达式未返回任何命名组,则正则表达式中的匹配项将作为位置参数提供。关键字参数由正则表达式匹配的任何命名组组成,并由django.conf.urls.url()的可选kwargs参数中指定的任何参数覆盖

  • 如果没有匹配的正则表达式,或者在此过程中的任何时候引发异常,Django将调用适当的错误处理视图。请参阅下面的错误处理


  • 在您的情况下,Django将调用函数
    mysite.views.base\u page(请求'page1')
    ,出现错误。

    显示查看函数或类的代码。签名很重要。
    url(r'^(.*)/', 'mysite.views.base_page', name='base_page'),