• django的简单原理


    一.自定义客户端和服务端的请求响应

      1.客户端打开url,向服务器发出请求

      2.服务端用socket写一个py,用于接收请求和做出响应

      3.服务端接收请求

      4.服务端模拟HTTP协议做出响应,状态行为 b"HTTP/1.1 200 ok 响应正文"

    import socket
    
    server = socket.socket()
    server.bind(("127.0.0.1",8888))
    server.listen()
    
    conn,addr = server.accept()
    
    from_meg = conn.recv(1024)
    conn.send(b"HTTP/1.1 200 ok 
    
    ")
    conn.send(b"hello")
    一个简单的响应

    二.wsgiref模块

      wsgiref模块将整个请求信息给封装起来,把服务器端的请求数据进行整理.python库提供WSGI规范的服务器就是wsgiref模块

    from wsgiref.simple_server import make_server
    
    def application(environ, start_response):   # environ请求信息是个字典,start_response响应信息
        # 给浏览器的状态行,响应头
        start_response("200 ok", [("Conten-Type", "text/html"), ("k1", "v1")])   
        # print(environ)       # 字典
        path = environ["PATH_INFO"]     # 请求路径信息
        data = "页面错误".encode("gbk")
        return [data]    # 响应内容
    httpd = make_server("1270.0.0.1",8001,application)
    httpd.serve_forever()
    wsgiref模块的模板

    三.渲染模板jinja2

      封装了手动替换进行渲染的方法

      1.py文件中

        template = Template(html)  把页面内容做参数,形成模板

        data = template.render({"k":"v"})  k是html中需要替换的,v是py中给替换的内容

      2.html中

        {{ k }}  需要替换的

        {% for i in lst %}  遍历列表,lst是要替换的

        {% endfor %}  结束遍历

    四.web框架本质

      web框架就是socket服务端和浏览器的通讯

      1.socket的服务端功能:

        a.负责与浏览器收发消息

        b.根据用户访问不同的路径执行不同的函数

        c.从html读取内容,并完成字符串替换进行渲染

      2.python中web框架

        tornado框架,自带abc

        django框架,自带bc,使用第三方wsgiref模块做的a

        flask框架,自带b,使用第三方的ac

    五.MVC和MTV框架

      1. MVC

        M:model  就是和数据库的关系映射

        V:view   视图,(函数+html文件)

        C:control  控制器,url分发和函数处理逻辑关系

        

      2.MTV(django)

        M:model模型:负责业务对象和数据库的关系映射

        T:template模板:负责如何把页面展示给用户

        V:view视图:负责业务逻辑,并在适当时候调用模型和模板

        Django还需要一个url分发器,就是想不同url请求分发给view处理

         

    六.django的简单使用

      1.用命令行创建django项目

        切换到要创建项目的目录

        Django-admin startproject 项目名

      2.启动项目

        在有manage.py的目录下

        python manage.py runserver 127.0.0.1:8001

      3.创建项目应用

        在有manage.py的目录下

        python manage.py startapp 应用名

      4.新建项目中的各个文件简单介绍

        manage  可以调用django shell和数据库,启动关闭项目,和项目的交互

        settings  项目的默认配置,包括数据库信息,调试标志以及一些工作变量

        urls    负责url映射到应用程序

        wsgi    封装着socket的相关内容

        models   数据库相关,存放表结构

        views    视图函数

  • 相关阅读:
    习题2-4 求交错序列前N项和 (15分)
    015_Web WPI
    014_捆绑包与显示模式
    013_模型验证
    012_模型绑定
    011_URL和Ajax辅助器方法
    010_模板辅助器方法
    009_辅助器方法
    008_视图
    007_控制器可扩展性
  • 原文地址:https://www.cnblogs.com/q767498226/p/10415663.html
Copyright © 2020-2023  润新知