一.前言
前面我们说完了前端基础,现在我们开始讲后端框架了,我们今天说的是django,当然今天主要还是和大家了解一下框架和django的基础配置
二.web框架
2.1 web框架初始
在我们学习web框架的时候,我们首先得了解到web框架的本质,我们先和大家来回忆一下socket和http协议,这里前面都和大家讲过,这里给出链接地址,大家去看看
python之网络编程(socket)_python socket-CSDN博客文章浏览阅读2.7k次,点赞16次,收藏43次。今天我们就讲完这么多了,本来想和大家讲一个文件的上传和下载的,但是发现讲不完根本讲不完,大家可以自己练习试试。_python sockethttps://blog.csdn.net/weixin_74178589/article/details/141186919?spm=1001.2014.3001.5501HTTP协议-CSDN博客文章浏览阅读1.1k次,点赞27次,收藏12次。这个概念在前面讲socket的时候和大家提到过,但是到这里我还是会和大家提一提web网页,我们都不陌生,相信大家都有使用web浏览上网的。那么,学习制作网页前,我们需要清晰哪些概念,准备哪些工具呢?接下来,我们要先了解下。在日常生活中,我们都会上网,或聊天、或阅读、或购物等,浏览很多的网站,而网站就是由网页组成。在互联网中,软件系统体系分两大结构:CS模式C/S 就是Client/Server 的缩写,是客户端和服务器架构。早期的软件系统多数是C/S结构的设计标准。https://blog.csdn.net/weixin_74178589/article/details/142315167?spm=1001.2014.3001.5501
这里重要的也就是这个socket,我们当时写的http其实就是一个最简单的web框架,所有的python的框架都是基于这个代码所组成的,而在http协议的时候,我们当时需要加上http协议的标识,浏览器才能正常拿到数据,我们返回拿到的数据还都是按照http的格式返回的,如果用原生的socket写后端会发现很麻烦,而我们web框架就是干处理数据等事情
我们常见的框架有django、flask、tornado、sanic、fastapi..
所以说我们web应用程序都是由三部分构成的
用户网络通信的socket ,web框架,业务开发 ,其中业务开发是站在框架的基础上的
以djano为例,socket部分由wsgiref模块、uwsgi、daphne实现
以flask为例,socket部分由werkzurg、uwsgi、...实现
2.2 各框架的区别
内部集成功能的多少
django,内部提供了很多组件。 【相对大】
flask、tornado、sanic、fastapi... 本身自己功能很少+第三方组件。【相对小】
同步框架 vs 异步非阻塞
异步非阻塞:tornado、sanic、fastapi、django
同步:django、flask、bottle、webpy..
但是其中django的异步支持的不是很好
三.快速上手django
3.1 安装
pip install django==3.2
因为我们说的版本是3.2的,所以我们安装的是3.2的django
3.2 命令行
cd 指定目录
django-admin startproject 项目名
这样我们就成功创建了django项目,这是目录的功能
mysite
├── manage.py [项目的管理工具]
└── mysite
├── __init__.py
├── settings.py 【配置文件,只有一部分。程序启动时,先读取django内部配置,再读settings.py】
├── urls.py 【主路由,在里面编写 /xxx/xxx/xxx ---> index 】
├── asgi.py 【异步】
└── wsgi.py 【同步,主】
编写urls.py的代码
运行
cd 项目
python manage.py runserver
python manage.py runserver 127.0.0.1:8000
python manage.py runserver 127.0.0.1:9000
这样我们也就启动了
app概念
cd 项目
python manage.py startapp 名字
mysite
├── manage.py
├── mysite
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── web
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│ └── __init__.py
├── models.py 【ORM,基于models可以对数据库进行简便的操作】
├── tests.py
└── views.py 【视图函数】
我们现在先了解这么多,以后遇到了会和大家具体说,app的作用其实就是让功能分开
3.2 pycham创建
django-admin startproject 项目名称
cd 项目目录
python manage.py startapp
python manage.py runserver
但是这样创建确实很方便,但是这样创建的是最新版本的,一会教大家创建指定版本的
四.创建指定版本
4.1 创建项目
先创建一个虚拟环境的项目,然后安装diango指定版本的,然后安装django
pip install django==3.2
然后终端输入
django-admin syartproject study01 .
注意一定要加上.这样就和原来django对应上了,项目下面一个文件夹
再点击这里
这样就配置好就可以直接运行了
4.2 创建app
这里推荐创建app先创建一下apps文件夹和你要创建app的名字的文件夹,再把app创建进去,这样就不会在根目录看着比较难受了
再把这个改成apps.web,就ok了
4.3 纯净版django
我们把设置里的这些屏蔽了,也就是一个纯净版的了
五.总结
今天说了很多配置,其实都是简单东西,这里给大家总结一下
重要的三个命令
django-admin startproject 项目名称 //创建项目 如果要创建指定版本那就在后面加个.
python manage.py startapp app名称 //创建app
python manage.py runserver //运行项目
总的来说都是配置的东西,不记得来看一下就行了
六.补充
下一期将会讲django的基础知识点,主要是说路由和视图