Django开发笔记(一)入门:web开发框架与Django下载运行
一、web框架概念
web应用程序的本质:
- 接收并解析HTTP请求,获取具体的请求信息;
- 处理本次HTTP请求,即完成本次请求的业务逻辑处理;
- 构造并返回处理结果——HTTP响应。
一个请求信息来了,请求首行、请求头、请求体。
请求首行包含三个内容:请求方式,请求路径,请求协议版本。
web框架有助于减轻网页开发时共通性活动的工作负荷,例如许多框架提供数据库访问接口、标准样板以及会话管理等等,可以提升代码的可再用性。
说简单点就是web 框架用于搭建Web应用程序,免去不同web应用相同代码部分的重复。
二、Django介绍
Python下有许多不同web框架,Django是重量级选手里具有代表性的一款。
Django采用了MVT的软件设计模式,M(Model)模型,V(View)视图,T(Template)模板。
这个MVT模式并非Django,它是借鉴了MVC(controller)模式衍生出来的。
MVC:
- M:(Model)模型,用于完成操作数据库;
- V:(View)视图,里面的代码就是用于展示给客户端的页面效果;
- C:(Controller)控制器,是一个类或者函数,里面的代码就是用于项目功能逻辑的,一般用于调用模型来获取数据,获得到的数据通过调用视图文件返回给客户端;
MVT:
- M:(Model)模型,与MVC里的M功能相同,用于完成操作数据库;
- V:(View)视图,与MVC中的C功能相同,业务逻辑处理层封装,接收请求,进行业务处理,返回应答;
- T:(Template)模板,与MVC中的V功能相同,负责封装构造要返回的html。
MVT模型的工作流程:
路由控制器是将请求转发给对应的视图函数,完成业务逻辑,视图函数将从model中获取的数据嵌入到template中的模板文件(html)渲染成一个页面字符串,返回给客户端的流程。
Django重点是四个部分:URL路由器+MVT
渲染:我们要从models里面取出来的数据,用一个样式(样式在templates里)展示给客户,把数据嵌入到页面中就是一个渲染的动作,渲染完成了返回给浏览器(也就是一个响应的动作),这个时候给它的就是一个完整的html页面。
Django框架:

三、Django下载与运行
我本次学习和使用的版本是3.2LTS版本。
一个科普:
目前开源软件发布一般会有两个不同的分支版本:
- 普通发行版本:经常用于一些新功能,新特性,但是维护周期短,不稳定;
- 长线支持版本:维护周期长,稳定
软件版本格式:大版本,小版本,修订号
大版本一般是项目内容/软件的核心架构发生改动,以前的代码已经不适用于新的版本;
小版本一般是功能的删减,删一个功能,小版本+1,减一个功能,小版本+1;
修订号一般是原来的代码出现了bug,会针对bug代码进行修复,此时会增加修订号数值。
检查pip安装:
Django每个版本对Python解释器有要求,比如说Django3.2要求Python解释器必须是3.6以上。
pip是Python下包管理的命令,从中央仓库上利用网络下载到本地。pip -v查看pip对应哪个解释器。
pip --version查看pip版本和对应的Python解释器版本:

如果还未安装,可以通过一下命令安装:
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本 $ sudo python get-pip.py # 运行安装脚本
注意:用哪个版本的 Python 运行安装脚本,pip 就被关联到哪个版本,如果是 Python3 则执行以下命令:
$ sudo python3 get-pip.py # 运行安装脚本。
一般情况 pip 对应的是 Python 2.7,pip3 对应的是 Python 3.x。
下载Django:
pip install django==3.2
这里注意,想要安装制定版本一定要屁股后面指明,否则默认下载最新版本。也可以自己更换pip源:
pip源:
https://pypi.douban.com/simple/ 豆瓣源
https://pypi.tuna.tsinghua.edu.cn/simple 清华源
pip install django==3.2 -i https://pypi.douban.com/simple/
pip3 list命令检查一下有没有安装好:

现在是将Django环境安装好了,这个时候回有全局命令“django-admin":
django-admin有很多参数:

不需要记哈,只需要记一个startproject创建一个Django项目,后面跟一个项目名称(生成项目的命令):
django-admin startproject demo
完成了以后,直接pycharm下面的终端terminal中使用命令运行django:
python manage.py runserver
这里其实完整命令是
python manage.py runserver IP PORT
ip不填默认本机,端口号默认8000,出现图上的东西就是运行好了:

在浏览器中访问显示的地址http://127.0.0.1:8000.效果如下则表示正确安装了:

关于最后启动这部分,我最开始没有启动起来,报错:
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environm ent?
后来参考:django安装教程-CSDN博客 这个里的,他多了一步 >>import django 这步。我进行了这一步后就可以正常启动了。
四、Django创建应用
我们创建的mysite项目,项目结构如下:

其中manage.py是交互文件,
关于这个目录结构的一些解释:
Django框架里面包含了四个文件:urls.py,view.py,models.py,templates四个,但是这个项目同名文件mysite里只有urls.py没有view.py和models.py。因为每个项目会有多个子项目,将models和view放在每个子项目里,做到了解耦的目的。接下来创建子应用看一下创建后的目录结构。
pycharm里打开终端使用命令创建子应用:
python manage.py startapp 子应用名称
这里,我使用 python3 manage.py startapp 子应用名称 创建就不行,不知道为什么(埋雷)。
新建了一个项目后,项目结构:

每个项目至少对应一个应用,我们在"djanjo-admin startproject项目名"的时候,它并未给我们创建一个默认的app。
app需要我们单独通过一个命令创建:"python mange.py startapp 子应用名称" 。
捋一捋到此为止我们的步骤:
- 创建一个Django项目: django-admin startproject 项目名
- 启动项目: python manage.py runserver IP PORT
- 创建应用:python manage.py startapp 应用名
五、 将pycharm对接到Django上
当然如果每次运行项目都要在终端下输入命令的话,很麻烦,这时候我们可以借助pycharm直接自动运行这段命令.当然,这个需要我们在pycharm配置一下的.
这里老师是打开pycharm初始页面即可创建Django,参考:Pycharm 搭建 Django 项目 (非常详细)_pycharm django_流年若逝的博客-CSDN博客
这里他使用的专业版,我自己是社区版本,我搜了网上社区版pycharm常见Django项目都是用终端命令行。
为了跟老师保持一致,我也开始使用专业版pycharm,专业版涉及到破解,我参考的:https://www.cnblogs.com/kkhan/p/17155737.html 注意这个不可以用2023.2.5专业版,我亲测不行,改成了2022.1.3版也就是文中的版本了。
然后打开pycharm,首页如下配置,注意moreSettings里面默认创建一个templates,不过没有默认创建应用,可以自己创建一个app01:

想要启动这个mysite,在edit configurations处配置(默认已经配置好了,大多数人不需要改动):

主机号不写就是默认本机,端口号你可以自己改或者就用默认的。

然后点击 Run就可以了,再访问也可以出Django运行成功的页面(和上面出现的小火箭一样)。
小结:
两个重要命令:
创建Django项目:django-admin startproject 项目名
启动Django项目:python manage.py runserver IP PORT
创建应用:python manage.py startapp 应用名
浙公网安备 33010602011771号