Django 初识及与 Python 版本的关系
Django 诞生于 2003 年秋天,2005 年发布正式版本,作者为 Simon 和 Andrian,是一个开源 Web 框架,采用了 MTV 模式,M 表示 Model 模型,T 表示 Template 模板,V 表示 Views 视图函数。最初是被开发用来管理劳伦斯出版集团旗下的新闻内容为主的网站的,Django 的名字是以比利时的吉普赛绝世吉他手 Django Reinhardt 来命名的。
Django 采用了 MTV 模式,在 Django 中控制器接受用户输入部分由框架自行处理,Django 更关注的是 M,T,V,其中 M 模型层负责处理数据相关的所有事务,比如存储查询等操作,T 模板层处理的是具体的页面表现,处理数据在页面上的渲染等,V 视图层则是负责存取模型以及定义适当的逻辑,是模型和模板之间的桥梁。
详细的处理过程如下:
在 Django 框架中,重点在于:
- 对象关系映射 (ORM,object-relational mapping):以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你将得到一个非常容易使用的数据库API,同时你也可以在Django中使用原始的SQL语句。
- URL 分派:使用正则表达式匹配URL,你可以设计任意的URL,没有框架的特定限定。像你喜欢的一样灵活。
- 模版系统:使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。
- 表单处理:你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。
- Cache系统:可以挂在内存缓冲或其它的框架实现超级缓冲 -- 实现你所需要的粒度。
- 会话(session),用户登录与权限检查,快速开发用户会话功能。
- 国际化:内置国际化系统,方便开发出多种语言的网站。
- 自动化的管理界面:不需要你花大量的工作来创建人员管理和更新内容。Django自带一个ADMIN site,类似于[内容管理系统]
在 Django Download 页面中列出了 Django 版本的发版计划以及 Support 情况,目前 3.2 版本是长期支持版本,直到2024年4月
Django 3.2 版本支持的 Python 版本包括 3.6、3.7、3.8、3.9 以及 3.10
接下来文章中使用的 Python 版本为 3.8 Django 版本为 3.2
使用到的 IDE 工具为 PyCharm。
Django 项目创建
Django 项目的创建有两种方式,第一种是使用命令行方式,在使用 pip 安装了 Django 之后,就可以使用 django-admin startproject [项目名称]
来创建一个 Django 项目了,创建过程如下:
django-admin startproject mysite
执行该命令不会有任何输出信息,直接会在当前目录下创建一个 mysite 文件夹,这就是 Django 项目所在的文件夹。
项目结构如下:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
创建之后进入目录中,可以执行命令来启动该 Django 项目
python manage.py runserver
Django 默认使用 8000 端口,在浏览器中打开输出的地址
该页面表示 Django 项目创建成功。
在 Django 中通过不同的 app 来表示不同的功能,因此真正实现代码逻辑的是在各个具体的 APP 中,我们可以通过 python manage.py startapp [app 名称]
来创建一个一个负责具体业务逻辑的 APP。
python manage.py startapp polls
执行该命令会直接在 mysite 目录下创建一个 polls 文件夹,就是 polls 应用,当前 Django 应用的目录结构如下:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
polls
polls 目录结构如下:
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
具体目录或者文件的含义如下:
manage.py
:与 Django 项目交互的文件。一般都是在终端输入python manage.py [子命令]
。可以输入python manage.py help
查看相关命令,该文件一般情况下无需改动。settings.py
:本项目的设置项,以后所有和项目相关的配置都是放在这个里面。urls.py
:这个文件是用来配置 URL 路由的。比如访问http://127.0.0.1/news/
是访问新闻列表页,这些东西就需要在这个文件中完成。wsgi.py
:项目与WSGI
协议兼容的Web
服务器入口,部署的时候需要用到的,一般情况下也是不需要修改的。asgi.py
:项目与ASGI
协议兼容的Web
服务器入口,部署的时候需要用到的,一般情况下也是不需要修改的。
APP
是 Django
项目的组成部分。一个 APP
代表项目中的一个模块,所有 URL
请求的响应都是由 APP
来处理。 Django
项目由许多 APP
组成,一个 APP
可以被用到其他项目,Django
也能拥有不同的 APP
。
第二种创建 Django 项目的方式就是通过使用 Professional 版本的 PyCharm 来创建,点击 Create New Project
使用 PyCharm 创建的 Django 应用和 APP 的目录与通过命令行创建的项目目录结构一致,这里可以通过点击左上角的启动按钮来启动 Django 项目
启动时会出现如下报错,我们只需要在 settings.py 文件顶部导入 os
模块即可
再次点击启动按钮,即可完成 Django 项目的启动
如果需要再创建一个 APP 则需要在命令行中使用 python manage.py startapp [APP 名称]
的方式来创建,使用 PyCharm 初识创建 Django 项目时只能创建一个 APP。
题外话
感谢你能看到最后,给大家准备了一些福利!
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python兼职渠道推荐*
学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
![](https://i-blog.csdnimg.cn/blog_migrate/1a0d47027df87fd20b2eec90383c0cd6.png)
👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
若有侵权,请联系删除