Django入门前,有哪些基础知识需要了解?

2026-06-11 10:551阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1159个文字,预计阅读时间需要5分钟。

Django入门前,有哪些基础知识需要了解?

Django简介 + HTTP协议 + 超文本传输协议 + 1.四大特性 + 1.基于TCP/IP应用层 + 2.基于请求响应 + 3.无状态 + cookie/session/token... + 4.无连接/长连接/WebSocket(HTTP协议的补充) + 2.数据格式 + 请求

Django学前简介

HTTP协议

超文本传输协议

Django入门前,有哪些基础知识需要了解?

1.四大特性 1.基于TCP/IP之上作用于应用层 2.基于请求响应 3.无状态 cookie session token... 4.无连接 长连接 websocket(HTTP协议的大补丁) 2.数据格式 请求格式 请求首行(请求方式,协议版本。。。) 请求头(一大堆k:v键值对) \r\n 请求体(真正的数据 发post请求的时候才有 如果是get请求不会有) 响应格式 响应首行 响应头 \r\n 响应体 3.响应状态码 用特定的数字表示一些意思 1XX:服务端已经成功接收到了你的数据 正在处理 你可以继续提交其他数据 2XX:服务端成功响应(200请求成功) 3XX:重定向 4XX:请求错误(404 请求资源不存在 403 拒绝访问) 5XX:服务器内部错误(500 )

wsgiref模块

该模块实现了上面两个手动的过程 根据功能不同拆分成了不同的py文件 urls.py 只放路由与视图函数对应关系 views.py 放视图函数(函数,类) 拆分完成之后 如果想要添加功能,你仅仅只需要在上面两个地方动手脚就可以了

动静态网页

静态网页

? 数据是写死的,万年不变

动态网页

数据是实时获取的

  • 后端获取当前时间展示到前端
  • 后端获取数据库中的数据展示到前端

模板渲染

如何将后端获取的数据 传递给html页面

jinja2模块

? 模板语法(极其贴近python后端语法)

? 变量相关:{{}}
? 逻辑相关:{%%}

<p>{{ user }}</p> <p>{{ user.name }}</p> <p>{{ user['pwd'] }}</p> <p>{{ user.get('hobby') }}</p> {% for user_dict in user_list %} <tr> <td>{{ user_dict.id }}</td> <td>{{ user_dict.name }}</td> <td>{{ user_dict.pwd }}</td> </tr> {% endfor %}

python三大主流web框架

Django

  • 大而全 自带的功能特别特别多 类似于航空母舰
  • 有时候过于笨重

Flask

  • 小而精 自带的功能特别特别少 类似于游骑兵
  • 第三方的模块特别特别多,如果将flask第三方模块全部加起来 完全可以超过django
  • 比较依赖于第三方模块

Tornado

  • 异步非阻塞
  • 牛逼到可以开发游戏服务器

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

Django的安装

注意事项

  • 计算机的名称不能有中文
  • 一个pycharm窗口就是一个项目
  • 项目名里面尽量不要用中文

django版本问题
1.X 2.X 现在市面上用的比较多的还是1.X
推荐你使用1.11.9~1.11.13

django安装
pip3 install django==1.11.11

如何验证django是否安装成功
命令行直接敲django-admin

django的功能

  • 一个django项目就类似于是一所大学,而app就类似于大学里面的学院
  • django其实就是用来一个个应用的
  • 一个app就相当于一块独立的功能
  • django支持任意多个app

使用命令行创建django项目

  • 创建django项目
    django-admin startproject mysite
  • 启动django项目
    python manage.py runserver
  • 创建应用app
    python manage.py startapp app01

注意事项

  • 使用命令行创建django项目 不会自动帮你创建templates文件夹只能自己创建。
  • settings文件中 需要你手动在TEMPLATES写配置os.path.join(BASE_DIR, ‘templates‘)

  • pycharm只会帮你注册第一个你在创建项目的时候写的应用。
  • 新创建的app需要你去settings配置文件中注册。

Pycharm创建Django项目

pycharm创建

  • 能够自动帮你创建template文件夹和路径配置。
  • 也能够支持创建一个应用并且自动注册。

Django项目文件分析

跟项目名同名的文件夹 settings.py 暴露给用户的配置文件 urls.py 路由与视图函数对应关系 应用名 migrations文件夹 存放数据库迁移记录的 admin.py django后台管理 apps.py 注册相关 models.py 模型类 tests.py 测试文件 views.py 存放视图函数 templates文件夹 存放html文件 manage.py django入口文件

本文共计1159个文字,预计阅读时间需要5分钟。

Django入门前,有哪些基础知识需要了解?

Django简介 + HTTP协议 + 超文本传输协议 + 1.四大特性 + 1.基于TCP/IP应用层 + 2.基于请求响应 + 3.无状态 + cookie/session/token... + 4.无连接/长连接/WebSocket(HTTP协议的补充) + 2.数据格式 + 请求

Django学前简介

HTTP协议

超文本传输协议

Django入门前,有哪些基础知识需要了解?

1.四大特性 1.基于TCP/IP之上作用于应用层 2.基于请求响应 3.无状态 cookie session token... 4.无连接 长连接 websocket(HTTP协议的大补丁) 2.数据格式 请求格式 请求首行(请求方式,协议版本。。。) 请求头(一大堆k:v键值对) \r\n 请求体(真正的数据 发post请求的时候才有 如果是get请求不会有) 响应格式 响应首行 响应头 \r\n 响应体 3.响应状态码 用特定的数字表示一些意思 1XX:服务端已经成功接收到了你的数据 正在处理 你可以继续提交其他数据 2XX:服务端成功响应(200请求成功) 3XX:重定向 4XX:请求错误(404 请求资源不存在 403 拒绝访问) 5XX:服务器内部错误(500 )

wsgiref模块

该模块实现了上面两个手动的过程 根据功能不同拆分成了不同的py文件 urls.py 只放路由与视图函数对应关系 views.py 放视图函数(函数,类) 拆分完成之后 如果想要添加功能,你仅仅只需要在上面两个地方动手脚就可以了

动静态网页

静态网页

? 数据是写死的,万年不变

动态网页

数据是实时获取的

  • 后端获取当前时间展示到前端
  • 后端获取数据库中的数据展示到前端

模板渲染

如何将后端获取的数据 传递给html页面

jinja2模块

? 模板语法(极其贴近python后端语法)

? 变量相关:{{}}
? 逻辑相关:{%%}

<p>{{ user }}</p> <p>{{ user.name }}</p> <p>{{ user['pwd'] }}</p> <p>{{ user.get('hobby') }}</p> {% for user_dict in user_list %} <tr> <td>{{ user_dict.id }}</td> <td>{{ user_dict.name }}</td> <td>{{ user_dict.pwd }}</td> </tr> {% endfor %}

python三大主流web框架

Django

  • 大而全 自带的功能特别特别多 类似于航空母舰
  • 有时候过于笨重

Flask

  • 小而精 自带的功能特别特别少 类似于游骑兵
  • 第三方的模块特别特别多,如果将flask第三方模块全部加起来 完全可以超过django
  • 比较依赖于第三方模块

Tornado

  • 异步非阻塞
  • 牛逼到可以开发游戏服务器

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

Django的安装

注意事项

  • 计算机的名称不能有中文
  • 一个pycharm窗口就是一个项目
  • 项目名里面尽量不要用中文

django版本问题
1.X 2.X 现在市面上用的比较多的还是1.X
推荐你使用1.11.9~1.11.13

django安装
pip3 install django==1.11.11

如何验证django是否安装成功
命令行直接敲django-admin

django的功能

  • 一个django项目就类似于是一所大学,而app就类似于大学里面的学院
  • django其实就是用来一个个应用的
  • 一个app就相当于一块独立的功能
  • django支持任意多个app

使用命令行创建django项目

  • 创建django项目
    django-admin startproject mysite
  • 启动django项目
    python manage.py runserver
  • 创建应用app
    python manage.py startapp app01

注意事项

  • 使用命令行创建django项目 不会自动帮你创建templates文件夹只能自己创建。
  • settings文件中 需要你手动在TEMPLATES写配置os.path.join(BASE_DIR, ‘templates‘)

  • pycharm只会帮你注册第一个你在创建项目的时候写的应用。
  • 新创建的app需要你去settings配置文件中注册。

Pycharm创建Django项目

pycharm创建

  • 能够自动帮你创建template文件夹和路径配置。
  • 也能够支持创建一个应用并且自动注册。

Django项目文件分析

跟项目名同名的文件夹 settings.py 暴露给用户的配置文件 urls.py 路由与视图函数对应关系 应用名 migrations文件夹 存放数据库迁移记录的 admin.py django后台管理 apps.py 注册相关 models.py 模型类 tests.py 测试文件 views.py 存放视图函数 templates文件夹 存放html文件 manage.py django入口文件