• Django


    1,http

    小提示:"{:0>3}".formate(9) 右对齐若小于3位 --->00n 0位占位符,> 表示右对齐

    响应格式

    请求格式

    import socketimport os# =========================================================def ret(path):    dir = "../html/"    file = os.path.join(dir,path.strip(r"[/\]"))    if os.path.exists(file):        with open(file,"rb") as f:            return f.read()    else:        with open(os.path.join(dir,"error.html"),"rb") as f:            return f.read()# =========================================================sk = socket.socket()sk.bind(("127.0.0.1",8080))sk.listen()while True:    conn,_ = sk.accept()    data = conn.recv(8096)    data_str = str(data,encoding="utf8")    list = data_str.split("\r\n")    # for i in list:    #     print(i) # 获取每行,还可以通过 空格分隔 获取访问路径,根据路径返回不同那内容    # # 通过请求路径,建立字典,对应但会数据,可直接返回    firstLine = str(list[0]).split(' ')    temp = firstLine[1].split("?")    path = temp[0]    #print(path)    conn.send(b'http1.1 200 \r\n\r\n')    conn.send(ret(path))    conn.close()sk.close()"""# http 请求GET /sadasd/?name=dzf HTTP/1.1\r\nHost: 127.0.0.1:8080\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36\r\nSec-Fetch-Mode: navigate\r\nAccept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3\r\nSec-Fetch-Site: none\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7\r\n\r\n'"""# ========================================================="""Python中 Web框架的分类:1. web框架的本质:   socket服务端 与 浏览器的通信2. socket服务端功能划分:   a. 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 自己写的长时间连接会报错   b. 根据用户访问不同的路径执行不同的函数   c. 从HTML读取出内容,并且完成字符串的替换(动态网站的本质) --> jinja2(模板语言)1. 按上面三个功能划分:   1. 框架自带a,b,c                 --> Tornado   2. 框架自带b和c(和jinja2类似),使用第三方的a(wsgiref)   --> Django   3. 框架自带b,使用第三方的a和c(jinja2)   --> Flask2. 按另一个维度来划分:   1. Django   --> 大而全(你做一个网站能用到的它都有)   2. 其他     --> Flask 轻量级"""# 安装jinja2from wsgiref.simple_server import make_server #   a 功能from jinja2 import Template # c功能​​def index():    with open("09 jinja2版web框架.html", "r", encoding="utf-8") as f:        data = f.read()    template = Template(data)  # 生成模板文件    # 从数据库中取数据    import pymysql    conn = pymysql.connect(
  • 相关阅读:
    企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图
    JVM-类加载子系统
    完整的代码
    云端IDE的技术选型1
    C# 实时监控双门双向门禁控制板源码
    Latex在图片中添加文字
    基于 Thingsboard 定制开发,国产化企业级、低代码 AIoT 物联网平台
    Excel 快速分析
    JVM详细教程
    五、DMSQL
  • 原文地址:https://blog.csdn.net/qq_34272704/article/details/127736119