#接上一篇,我们来看看,当在浏览器中输入url时,django是如何处理url请求的
先回顾一下我们创建myproject,在cmd中,cd到D:\python34\Script,输入命令django-admin.py startproject myproject创建myproject工程,之后在myproject目录下会自动生成4个文件,分别是_init_.py urls.py setting.py wsgi.py
注意其中setting.py这个文件,这个文件包含了所有和当前项目相关的配置信息。打开后看到里面有一行代码
这里ROOT_URLCONF被赋值为myproject.urls,实际就是指myproject/urls文件,这个文件是url和视图函数的映射列表。因此,当在浏览器中输入localhost:8000:hellodjango后,Django会根据ROOT_URLCONF所指向的urls.py文件,逐一和文件中的urlpattern进行比配,当匹配成功以后,就调用url对应的视图函数
我们看到所有视图函数结尾都会返回一个HttpResponse,httpResponse是一个对象,django会将这个对象转换为一个合适的都带有<html><body>头的web response在网页中显示出来。
最后我们总结一下:
1. 发出url请求 .../hellodjango/
2. Django 根据ROOT_URLCONF配置信息找到对应urls.py文件
3. 将/hellodjango/与每一个urlpattern相匹配
4. 匹配到后调用映射的视图函数
5. 创建一个httpresponse对象并返回这个对象
6. Django将httpResponse对象转换为web response在page中显示出来。