Django入门总结

一、软件开发架构

两种架构:

  • c/s :客户端/服务器
  • b/s:浏览器/服务器

2 HTTP协议

  1. http数据请求格式(响应)格式

    • 请求(响应)首行(请求方式,协议版本)
    • 请求(响应)头(一对k:v键值对)
    • 空格|
    • 请求(响应)体(真正的数据,发送post请求时候才会有,如果是get请求不会有)
  2. http四大特性

    • 基于tcp/ip之上的应用层
    • 基于请求响应
    • 无状态(session cokies token)
    • 无连接(长连接 websocket他是HTTP协议的大补订)
  3. 请求状态码

    1xx:表示服务器已经收客户端的数据,正在处理,客户端可以继续发送数据

    2xx: 表示服务器响应客户端请求成功

    3xx:表示重定向

    4xx:表示请求失败

    5xx:服务器内部错误

  4. get和post请求方式

    • get:向服务器拿数据
    • post:向服务器提交数据,进行验证(eg:登录)
  5. url:统一资源定位符
    application:全局数据共享

二、纯手撸web框架

  1. 手鲁web框架

    • socket自己写
    • http请求数据自己处理
  2. wsgiref模块(web网关服务接口)

    • socket接口帮你封装好了
    • http数据帮你处理好了
      • 1请求来到时候,帮你解析http数据格式,进行封装
      • 2响应走的时候,也会自动把数据封装成http数据的格式返回
  3. 根据不同功能拆分成不同的.py文件

    • urls.py :路由与视图对应的关系
    • views.py处理业务逻辑的视图函数,也可以是类
    • templates:专门存放html标签

    规律:只用你想添加功能,只需要在url.py中添加一条对应的关系,然后再去views.py中写一个函数

三、动静态网页

  1. 静态网页:页面上的数据是一成不变的(一百年之后也不会变)
  2. 动态网页:页面的数据可以随时改变,并做出响用
    • 通过字符串替换的方式
    • 借助于jinja2模块实现模板的渲染
  3. 模板语法两种格式{{}} {% %}

四、python三大主流web框架

  1. django框架

    django框架自带功能齐全,socket用别人的,路由与视图函数对应关系和模板语法自己实现

  2. flask

    是一个轻量级的框架,依赖于第三方模块,socket和模板语法用别人的,路由与视图函数对应关系是自己实现的

  3. tornado

    是一个异步非阻塞,可以做游戏服务器,socke和模板语法,路由与视图函数对应关系都是自己写的

A:socket部分
B:路由与视图函数对应关系
C:模板语法
Django:
A用的别人的 wsgiref
B自己写的
C自己写的
Flask
A用的别人的 werkzeug(基于wsgiref)
B自己写的
C用的别人的 jinja2
Tornado
三者全是自己写的

五、django框架的安装和使用

  1. django版本问题

    django主要分为1.x与2.x,市面比较流行的是1.x

  2. django安装

    pip install django==1.11.11

  3. 查看django是否安装成功

    diango-admin

  4. 注意事项

    1. 计算机名称不要使用中文
    2. 一个pycharm一个项目
    3. 项目下面尽量不要使用中文命名
  5. 项目下面的app

    • 一个项目可以有多个app
    • 一个app就是一个项目下的一个功能,一个django的项目就类似于一所大学,然后多个app就是大学里面的各个学院
    • 一个app就相当于一个功能模块,这样的好处有益于,每个人开发互不干扰,都可以独立自主的开发一个功能模块,app之间互不影响
    • django支持多个app
  6. 命令行创建django项目

    • 创建django项目:django-admin startproject 项目名
    • 启动项目:python manage.py runserver
    • 创建一个app: python manage.py startapp app名称
  7. 使用parcharm创建项目

    1. 创建的项目会有和当前项目名相同的文件夹

    2. 会自动创建一个app

    3. 启动项目要保证唯一的端口,默认8000

    4. 项目创建的结构

      ·跟项目名同名的文件夹

      ​ settings.py 暴露给用户的配置文件,

      ​ urls.py :配置与视图函数对应关系

      应用名

      ​ migrations文件, 存放的是数据库迁移记录的

      admin.py djaong管理员后台管理

      ​ apps.py 注册相关

      ​ models.py 模型类

      tests.py 做测试文件

      views.py 存放的是与url对应的视图函数

      templates 文件夹,用来存放html文件

      manage.py django入口文件

  8. 注意:

    1. 使用命令创建项目不会自动创建一个app,需要手动命令创建,并且需要到配置文件中手动配置
    2. 使用命令创建的项目不会自动模板文件,需要手动创建,并且需要到配置文件中手动配置os.path.join(BASE_DIR, 'templates')
    3. parcharm可以自动创建一个app,创建多个需要通过命名手动创建,并且要到配置文件中配置
    4. parcharm可以自动创建templates文件夹
  9. 数据库迁移命令

    • python manage.py makemigrations
    • python manage.py migrage

在当下的阶段,必将由程序员来主导,甚至比以往更甚。
原文地址:https://www.cnblogs.com/randysun/p/11756293.html