Django学习--urls.py详解
urls.py:⼜称为URL分发器(路由配置⽂件)
URL配置(URLconf)就形式Django所⽀撑⽹站的⽬录。他的本质是URL模式以及要为该URL模式调⽤的试图函数之间的映射表。开发者就是以这种⽅式告诉Django,对于这个URL调⽤这段代码,⽽那个URL调⽤那段代码。URL加载是从配置⽂件中开始的。
1.url配置格式:
urlpatterns = patterns('视图前缀',
url(r'^正则表达式1/$', '视图函数1', name="url标识1"),
url(r'^正则表达式2/$', '视图函数2', name="url标识2"),
)
patterns函数的第⼀个参数表⽰视图前缀,视图前缀可以为空,之后跟上若⼲个url函数,每个url函数表⽰⼀个请求映射关系。
注意:
3.1 url函数的第⼆个参数,表⽰视图函数,它的名字不是随便取的,必须要在views.py中真实存在,项⽬的每个应⽤下都会有⼀个views.py⽂件。
3.2 views.py⽂件中的视图函数,其第⼀个参数必须是HttpRequest对象。
3.2 name的作⽤主要体现在⼀个视图函数对应多个url请求的场景中,name可以⽤来唯⼀标识⼀个url,所以它必须全局唯⼀
urls.py的配置写法⼀般有三种⽅式:
第⼀种是视图函数处理⽅法,l例如:
from hello_app import views  #在hello_app中的views.py⽂件中配置了函数hello
#url函数写法
url(r'^hello$',views.hello)
第⼆种⽅法是导⼊视图函数中的⽅法
第三种就是下述的include分解器⽅式。
2.URL的编辑模式:
urlpatterns=[
url(正则表达式,view函数,参数,别名,前缀)
]
其中各参数的说明如下:django怎么学
* ⼀个正则表达式字符串
* ⼀个可调⽤的对象,通常为⼀个视图函数或者是⼀个指定视图函数路径的字符串
* 可选的要传递给视图函数的默认参数(字典形式)
* ⼀个可选的参数
* 路径的前缀
以下为url函数源码
3.URl分解器,include函数:
通常⼀个URL分解器对应⼀个URL配置模块,他可以包含多个URL模式,野也以包含多个其他URl分解器。通过这种包含结构设计,实现Django对URL的层级解析。
通俗讲就是URL过多时,每个app分别保存⾃⼰的url,这样在⼯程⽬录下的urls.py⽂件中就不会有很多的URL地址。
URL分解器是Django实现app'与项⽬解耦的关键,那个有include⽅法操作的URL配置模块,最终会被解释为URl分解器。
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" >