ʕ·͡ˑ·ཻʔ Daisy 🐾 ◟̆◞̆♥︎
Zou-Wang
点击头像关注

三っ•̀.̫•́)っ 我去宇宙了 ⁽⁽ଘ( ˊᵕˋ )ଓ⁾⁾

Django基础

软件开发架构:

​ c/s 客户端 服务器

​ b/s 浏览器 服务端

​ ps:bs本质也是css

HTTP协议:

超文本传输协议

1、四大特性

​ 1、基于tcp/ip之上作用于应用层

​ 2、基于请求响应

​ 3、无状态 cookie session token

​ 4、无连接

2、数据格式

​ 请求格式

​ 请求首行(请求方式,协议版本)

​ 请求头(一大推k:v键值对)

​ \r\n

​ 请求体:(真正的数据,发post请求的时候才有,如果是get请求是不会有的)

​ 响应格式

​ 响应首行

​ 响应头

​ \r\n

​ 响应体

3、响应状态码

​ 用特定的数字表示一些意思

1xx:服务端已经成功接收到了你的数据,正在处理 你可以继续提交其他数据

2XX:服务器端成功响应(200请求成功)

3XX:重定向

4XX:请求错误(404 请求资源不存在 403拒绝访问)

5XX:服务器内部错误(500)

get请求:朝别人要数据

post请求:向别人提交数据

url统一资源定位符

基于wsgiref模块

​ url.py 路由与视图函数对象关系

​ views.py 放的是视图函数(处理业务逻辑的)

​ template 模板文件(一堆html文件)

HTTP协议

1、纯手撸web框架

​ 1、手写socket

​ 2、手动处理http格式数据

2、基于wsgire模块

​ 该模块实现了上面两个手动的过程

​ 根据功能不同拆分成立不同的py文件

​ urls.py只放路由与视图函数对应关系

​ views.py 放视图函数(函数,类)

​ 拆分完成之后,如果想要添加功能,你仅仅只需要在上面两个地方动手

3、动态网页

​ 静态网页:数据时写死的 万年不变

​ 动态网页:数据时实时获取的

​ eg:1、后端获取当前时间展示到前端

​ 2、后端获取数据库中的数据展示到前端

疑问:

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

后端获取的数据 传递给html页面 模板的渲染

模板语法(及其贴近pyhton后端语法)

<p>{{user}}</p>

<p>{{user.name}}</p>

<p>{{user['pwd']}}</p>

python三大主流框架

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

Flask:小而精自带的功能特别特别少,类似于游骑兵

​ 第三方的模块特别特多,如果将flask第三方模块全部加起来,完全可以超过Django

​ 比较依赖于第三方模块

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

A:socket部分

B:路由与视图函数对应关系

C:模板语法

Djano:A:用的别人的 wsgiref

​ B:自己写的

​ C:自己写的

Flask:A:用的别人的 werkzeug(基于wsgiref)

​ B:自己写的

​ C:用的别人的 jinja2

Tornado:三者全是自己写的

注意事项:1、计算机的名称不能有中文

​ 2、一个pycharm窗口就是一个项目

​ 3、项目名里面尽量不要用中文

Django版本问题:1.x 2.x 现在市面上用的比较多的还是1.x

​ 推荐你使用1.11.9~1.11.13

django安装:pip3 install django==1.11.11

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

一个django项目就类似于一所大学,而app就类似于大学里面的学院

django其实就是用来一个个应用的

一个app就相当于一块独立的功能

​ 用户功能

​ 管理功能

django支持任意多个app

如何使用:命令行使用:

​ 创建django项目

​ django-admin startproject mysite

​ 启动django项目

​ python manage.py runserver

​ 创建应用app

​ python manage.py startapp app01

注意:

1、新创建的app需要你去settings配置文件中注册

2、pycharm只会帮你注册第一个你在创建项目的时候写的应用

注意:

​ 1、使用命令行创建django项目 不会自动帮你创建template文件夹

​ 2、settings文件中需要你手动在TEMPLATES写配置

在启动django项目的时候你一定要确保一个端口只有一个django项目

项目名:跟项目名同名的文件夹

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

​ urls.py 路由与视图函数对应关系

应用名:

marations文件夹 存放数据库迁移记录的

admin.py django后台管理

apps.py 注册相关

models.py 模型类

tests.py 测试文件

views.py 存放视图函数

templates文件夹 存放html文件

manage.py django入口文件

posted @ 2019-10-28 09:08  没忘  阅读(137)  评论(0编辑  收藏  举报