计划从2022年7月25日-2022年8月10日,开始学习半个月的Django,目的是使用Django做一个小网站,比如新闻类的、电商类的等。记录一下学习过程。记录的内容基本都是以官网或者百度谷歌找到的资料,加以自己的理解和总结得出。
1、Django能干什么
Django 最初被设计用于具有快速开发需求的新闻类站点,目的是要实现简单快捷的网站开发。也就是ta是实现网站开发的。
2、MVT的设计模式
Django使用的是MVT设计模式。
M 代表模型(Model):负责业务对象和数据库的关系映射(ORM),提供在数据库中管理(添加、修改、删除)和查询记录的机制;
T 代表模板 (Template):处理页面的显示,所有与表现相关的决定都由这一层去处理,负责如何把页面展示给用户(html)。
V 代表视图(View):负责业务逻辑,并在适当时候调用Model和Template。
2.1、MVT 模型
Django 的 MVT 模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django 的 MVT 分别是指:
M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
T 表示模板 (Template):负责如何把页面(html)展示给用户。
V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template。
除了以上三层之外,还需要一个 URL 分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View 处理,View 再调用相应的 Model 和 Template
与之对应的是MVC模型
2.2、MVC 模型
MVC 模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
MVC 以一种插件式的、松耦合的方式连接在一起。
模型(M)- 编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
视图(V)- 图形界面,负责与用户的交互(页面)。
控制器(C)- 负责转发请求,对请求进行处理。
MVT和MVC相比,在Django中,C(Controller)是由框架自行处理的,它由框架的URLConf来实现,其机制是使用正则表达式匹配URL,再去调用合适的Python函数。
3、Django安装
方法1、anaconda里有,直接安装。不过版本是3.2.5,最新稳定版是4.06
方法2、听官网的,pip安装
python -m pip install Django
4、新建并启动项目
新建项目
django-admin startproject mysite # 会在当前目录下创建一个 mysite 目录。记得避免使用 Python 或 Django 的内部保留字来命名你的项目
启动项目
python manage.py runserver # 这是一个用纯 Python 编写的轻量级网络服务器,千万不要 将这个服务器用于和生产环境相关的任何地方。这个服务器只是为了开发而设计的
打开:http://127.0.0.1:8000/ 进行访问。出现小火箭发射的图片,就表示启动成功了。
刚才创建的是项目,实际使用的是应用。
项目 VS 应用
项目和应用有什么区别?应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者小型的投票程序。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。