黑马程序员技术交流社区

标题: 初学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