zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    小问题收集
    JSON.NET与LINQ序列化示例教程
    前台页面中json和字符串相互转化
    jQuery Validate (1)
    jQuery Validate (摘自官网)
    SQL基础(八)-- sql左右连接中的on and 和 on where 的区别
    SQL基础(七)--or和in的使用
    SQL基础(六)--RaiseError的用法
    C#基础(三)--Sort排序
    C#中Equals和==的区别 (面试官经常会问到)
  • 原文地址:https://www.cnblogs.com/zrh-960906/p/11515276.html
Copyright © 2011-2022 走看看