Django中关于URL配置文件urls.py的理解
1. 什么是urls.py
urls.py本质上就是一个标准的python文件,这个python文件的作用就是在URL请求和处理该请求的视图函数之间建立一个对应关系,换句话说,它就是一个url请求映射表。
2. urls.py文件位置
除了在项目根目录下有一个urls.py之外,项目的每个应用下都会有一个urls.py配置文件。
3. urls.py配置格式
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,所以它必须全局唯一。
4. urls.py如何工作
前面说过,urls.py本质上就是一个请求映射表,它决定了哪个请求由哪个函数来处理,具体过程如下:
4.1 浏览器发送请求url
4.2 服务端根据请求的url,在项目的所有应用(包括根目录)的urls.py配置文件中进行查找,如果能匹配到该url,就会将该url交给其对应的视图函数进行处理。
4.3 负责处理该url的视图函数,会搜集一些业务数据,然后把这些数据,通过 return render(request, '模板文件', 数据); 渲染到前端页面展示给用户。