黑马程序员技术交流社区
标题:
初学Django
[打印本页]
作者:
许航燕
时间:
2019-5-16 22:48
标题:
初学Django
1. Web应用程序的本质
接收并解析HTTP请求
处理HTTP请求,完成请求的业务逻辑实现
构造并返回HTTP响应
2. 搭建环境
创建虚拟环境:mkvirtualenv django_1.11 -p python3
安装django:pip install django==1.11.11
安装时不能用sudo,否则会将django包安装到真实环境
3. 创建工程
创建工程:django-admin startproject 工程名称
运行开发服务器:python manage.py runserver ip:端口
4. 创建应用
创建子应用:python manage.py startapp 子应用名称
注册安装子应用:将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中
5. 创建视图
视图定义在子应用的views.py中
视图函数的第一个传入参数为请求数据的HttpReqeust对象,通常名为request。
视图函数的返回值必须为一个相应对象,将要返回的字符串数据放到该HTTPResponse对象中。
6. 定义路由URL和路由说明
子应用中新建urls.py保存该子应用的路由信息
在工程总路由urls.py中添加子应用的路由数据
使用include来将子应用users里的全部路由包含进工程路由中
由上至下的顺序,有可能会使上面的路由屏蔽掉下面的路由,带来非预期结果
工程总路由urls.py为Django解析路由的入口
每个子应用为了保持相对独立,在各个子应用中定义自己的urls.py来保存该应用的路由。
然后用主路由文件包含各应用的子路由数据
路由解析顺序:
Django在接收到一个请求时,从主路由文件中的urlpatterns列表中,由上至下查找对应路由规则,
如果发现有include包含,则进入被包含的urls中的urlpatterns列表由上至下进行查询。
reverse反解析:
使用reverse函数,可以根据路由名称,返回具体的路径
对于未指明namespace的,reverse(路由name)
对于指明namespace的,reverse(命名空间namespace:路由name)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2