Django简介

1.纯手撸一个简易版本的web框架
        1.手动处理socket请求
        2.手动处理http数据,获取用户访问的url
        3.根据用户访问url的不同 响应不同的结果

2.wsgiref模块(web服务端网关接口)
        封装了socket代码
        请求来的时候将http数据格式 拆封成一个大字典
        响应走的时候将数据打包成符合http协议要求的数据格式
            启动
                server = make_server('127.0.0.1',8080,run)
                # 实时监测127.0.0.1:8080地址 一旦有客户端来连接 会自动加括号调用run方法
                server.serve_forever()  # 启动服务端

3.如何给html页面传递数据
        1.如何将当前日期渲染到html页面  >>>  用r模式读取html文件成字符串 利用字符串的替换
        2.如何将一个字典渲染到html页面上并且还能够简单快捷取值操作  
            模板的渲染  
            jinja2模块
                1.模板的渲染(传数据)
                2.模板语法(极其贴近python语法)
            
                from  jinja2 import Template
                将文本格式的html数据传入Template
                render()
            
            模板语法
                {{ data }}
                {% for user in user_list %}
                {% endfor %}
                
                模板语法 只有两种情况
                    {{}}:变量相关
                    {%%}:逻辑相关

4.对不同的功能拆封成不同的文件
        templates文件夹(专门放html文件)
        urls.py
        views.py

web 框架

python三大主流web框架
        1.Django:大而全 自带的功能特别特别多  就类似于航空母舰  有时候过于笨重
        2.Flask:短小精悍  自带的功能特别特别少  全都是依赖于第三方组件
            flask框架第三方的组件特别多 如果把flask第三方全部加起来  完全可以盖过Django
            比较受限于第三方的开发者
        3.Tornado:天生的异步非阻塞框架    速度特别快 能够抗住高并发
            可以开发游戏服务器

  A:socket
    B:路由与视图函数匹配
    C:模板语法
          
  Django
        A:用的别人的 wsgiref
        B:自己写的
        C:自己写的  
  Flask
        A:用的别人的 wsgiref>>> werkzeug
        B:自己写的
        C:用的别人的 jinja2
   Tornado
       A,自己写的
       B,自己写的
       C,自己写的

Django
    注意事项
        1.你的计算机的名称不能有中文
        2.文件的命名尽量也不要用中文
        3.一个pycharm窗口只能有一个项目 不要把多个项目放在一个窗口下

django版本问题
        1.x  2.x     
        以django1.11版本为主
    django下载
        pip3 install django==1.11.11
    如何确认是否下载成功
        命令行敲 django==django-admin

如何创建django项目
        命令行式
            1.命令行创建django项目
                django-admin startproject 项目名
            2.命令行创建django应用(一个应用对应一块儿独立的功能)
                django-admin startapp 应用名
                python manage.py startapp 应用名
            3.命令行启动django项目
                python manage.py runserver
            (******)
            注意 用命令行创建django项目  不会自动新建templates模板文件夹
            需要你自己手动创建 并且需要你自己去settings.py文件中注册该文件路径
        pycharm快捷方式

创建的应用一定要在settings中注册 才能生效  否则无法识别 
    django主要文件介绍
        项目名文件
            同名的项目文件夹
                settings.py  django暴露给用户可配置的文件
                urls.py      路由与视图函数对应关系
            manage.py  django入口文件
            应用文件夹
                migrations文件夹   数据库迁移记录
                admin.py  django后台管理
                apps.py   应用注册相关
                models.py  orm模型类
                tests.py   测试文件
                views.py   视图函数

app概念
        django项目就类似于是一所大学,app就是大学里面不同的学院
        每个学院都有自己独立的功能

django小白必会三板斧
        HttpResponse:返回字符串 
        render:返回html页面 并且能够给该页面传值
        redirect:重定向

dayehui
原文地址:https://www.cnblogs.com/zrh-960906/p/11515276.html