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的基础知识点,主要是说路由和视图

相关推荐
是十一月末8 分钟前
Opencv实现图像的腐蚀、膨胀及开、闭运算
人工智能·python·opencv·计算机视觉
云空16 分钟前
《探索PyTorch计算机视觉:原理、应用与实践》
人工智能·pytorch·python·深度学习·计算机视觉
好学近乎知o18 分钟前
正则表达式(学习Django过程中可能涉及的)
学习·正则表达式·django
dowhileprogramming26 分钟前
Python 中的迭代器
linux·数据库·python
开心工作室_kaic1 小时前
springboot485基于springboot的宠物健康顾问系统(论文+源码)_kaic
spring boot·后端·宠物
0zxm1 小时前
08 Django - Django媒体文件&静态文件&文件上传
数据库·后端·python·django·sqlite
灰太狼不爱写代码3 小时前
CUDA11.4版本的Pytorch下载
人工智能·pytorch·笔记·python·学习
众拾达人4 小时前
Python爬虫(入门+进阶)
爬虫·python
bryant_meng7 小时前
【python】OpenCV—Image Moments
开发语言·python·opencv·moments·图片矩
KevinRay_7 小时前
Python超能力:高级技巧让你的代码飞起来
网络·人工智能·python·lambda表达式·列表推导式·python高级技巧