Django请求处理过程

我们在Web浏览器中访问了http://127.0.0.1:8000/hello/,看到

“Hello World!”,这个过程是怎么运行的呢?

运行 python manage.py runserver 命令时

 manage.py脚本在内层mysite目录中寻找名为setting.py文件

这个文件保存着当前Django项目的配置。其中最重要的设置是
ROOT_URLCONF,它告诉 Django,网站的 URL 配置在哪个 Python 模块中。

settings.py 文件中包含 ROOT_URLCONF 设置,指向自动生成的urls.py 文件。打开 settings.py 文件

会看到下述设置:

ROOT_URLCONF = 'mysite.urls'

这个模块对应的文件是 mysite/urls.py

Django加载ROOT_URLCONF设置指定的URL配置,然后按顺序检查URL配置中的各个URL模式,依次与请求的URL比较,直到找到匹配的模式为止。

找到匹配的模式后,调用对应的视图函数,并把一个HttpRequest对象作为第一个参数传给视图,剩余的工作交给Django处理。

总结:

1. 请求 /hello/。
2. Django 查看 ROOT_URLCONF 设置,找到根 URL 配置。
3. Django 比较 URL 配置中的各个 URL 模式,找到与 /hello/ 匹配的那个。
4. 如果找到匹配的模式,调用对应的视图函数。
5. 视图函数返回一个 HttpResponse 对象。
6. Django 把 HttpResponse 对象转换成正确的 HTTP 响应,得到网页。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值