web框架--django基础简介

python三大主流web框架
  Django:大而全,自带了很多功能模块,类似于航空母舰 (缺点:有点笨重)
  Flask:短小精悍,自带的功能模块特别少,大部分都是依赖于第三方模块(小而轻)
  Tornado:异步非阻塞 主要用在处理高io 多路复用的情况 可以写游戏后端

所有web应用本质都是socket服务器,浏览器就是客户端。

import socket


"""
请求首行
b'GET / HTTP/1.1

请求头(一大堆kv键值对)
Host: 127.0.0.1:8080

Connection: keep-alive

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3

Accept-Encoding: gzip, deflate, br

Accept-Language: zh-CN,zh;q=0.9,en;q=0.8



请求体
'


"""
server = socket.socket()  # 不传参数默认就是TCP协议
server.bind(('127.0.0.1',8080))
server.listen(5)


while True:
    conn, addr = server.accept()  # 阻塞 等待客户端链接
    data = conn.recv(1024)
    conn.send(b'HTTP/1.1 200 OK

')
    print(data)
    # 手动处理http数据获取用户访问的路径
    current_path = data.decode('utf-8').split('
')[0].split(' ')[1]
    if current_path == '/index':
        # 路由匹配上之后返回index
        # conn.send(b'<h1>index</h1>')
        with open('index.html','rb') as f:
            conn.send(f.read())
    else:
        # 当匹配不上的时候统一返回404
        conn.send(b'404')

    conn.close()

django文件列表

应用名
  migrations 数据库迁移记录相关数据
  admin.py django后台管理相关
  models.py 模型表相关
  views.py 视图函数相关
项目名
  settings.py 配置文件
  urls.py 路由与视图函数的映射关系
  templates项目用到的所有的html文件
  
manage.py   django入口文件

配置文件

1、数据库

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME':'dbname',
    'USER': 'root',
    'PASSWORD': 'xxx',
    'HOST': '',
    'PORT': '',
    }
}

2、模版

TEMPLATE_DIRS = (
        os.path.join(BASE_DIR,'templates'),
    )

3、静态文件

STATICFILES_DIRS = (
        os.path.join(BASE_DIR,'static'),
    )
原文地址:https://www.cnblogs.com/duGD/p/11161117.html