这个东西我们在第一次的时候接触过,就是url.py那个文件,当时还说了1.8之后的写法不同,现在我们来详细说一下这个配置文件。
首先,url.py这个文件的写法没什么说的
from django.conf.urls import url
from django.contrib import admin
from test01.blog.views import index
from test01.blog.views import test
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^blog/index/$',index),
url(r'^test/$',test),
]
~
其中,url中,第一个参数就是一个正则表达式,后面就是对应的处理方法,注意处理方法一定要导包。
然后,我们再说一下参数的传递:
第一种方法,可以采用传统的GET方法,例如
浏览器中(多个参数用&分开):
http://192.168.126.129:8000/test/?one=123
url.py配置文件中:
url(r'^test/$',test),
views.py中处理函数:
def test(req):
one=req.GET.get('one')
return render_to_response('first.html',{'one':one})
第二种方法:可以采用正则表达的分组来完成,例如
浏览器中:
http://192.168.126.129:8000/test/1234
url.py配置文件中:
url(r'^test/(\d{4})/$',test),
views.py中处理函数:
def test(req,one):
return render_to_response('first.html',{'one':one})
一个分组对应一个参数,多个分组时,处理函数的参数也可以使用收集参数,同时,这里还可以使用命名参数,那么
url.py配置文件中:
url(r'^test/(?P<one>\d{4})/$',test),
这样写之后,处理函数的参数就必须是one了。
好了,大家觉得哪个好用,就用哪个吧。