Django基础配置

一.前言

前面我们说完了前端基础,现在我们开始讲后端框架了,我们今天说的是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的基础知识点,主要是说路由和视图

相关推荐
SZ1701102315 分钟前
实时检测跟踪模块
python
小菜日记^_^14 分钟前
Maven高级篇
java·spring boot·后端·spring·maven·intellij-idea·mybatis
小杨40440 分钟前
高级并发编程系列七(锁入门)
java·后端·性能优化
计算机毕设指导642 分钟前
基于SpringBoot的教学辅助平台系统【附源码】
java·spring boot·后端·mysql·spring·tomcat·mybatis
Jason-河山1 小时前
利用Java爬虫获取商品评论:技术与实践
java·爬虫·python
胖哥真不错1 小时前
Python实现随机分布式延迟PSO优化算法(RODDPSO)优化CNN回归模型项目实战
python·项目实战·cnn回归模型·roddpso·随机分布式延迟pso优化算法
Easy数模1 小时前
竞赛思享会 | 2024年第十届数维杯国际数学建模挑战赛D题【代码+演示】
python·算法·数学建模
乄bluefox2 小时前
SpringBoot中使用Sharding-JDBC实战(实战+版本兼容+Bug解决)
java·数据库·spring boot·redis·后端·缓存·bug
知识的宝藏2 小时前
Django如何配置多个环境的MySQL数据库
python·django