Django 开发 | 02 - Django Overview

本文介绍了Django框架的起源、MTV模式及其关键组件,如ORM、URL分派、模板系统和表单处理等。还详细讲述了如何使用Python3.8和Django3.2创建和管理项目,以及PyCharm在Django项目开发中的作用。
摘要由CSDN通过智能技术生成

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 视图层则是负责存取模型以及定义适当的逻辑,是模型和模板之间的桥梁。

image.png

详细的处理过程如下:

image.png

在 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月

image.png

Django 3.2 版本支持的 Python 版本包括 3.6、3.7、3.8、3.9 以及 3.10

image.png

接下来文章中使用的 Python 版本为 3.8 Django 版本为 3.2

image.png

使用到的 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

image.png

Django 默认使用 8000 端口,在浏览器中打开输出的地址

image.png

该页面表示 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 服务器入口,部署的时候需要用到的,一般情况下也是不需要修改的。

APPDjango 项目的组成部分。一个 APP 代表项目中的一个模块,所有 URL 请求的响应都是由 APP 来处理。 Django 项目由许多 APP 组成,一个 APP 可以被用到其他项目,Django 也能拥有不同的 APP

第二种创建 Django 项目的方式就是通过使用 Professional 版本的 PyCharm 来创建,点击 Create New Project

image.png

使用 PyCharm 创建的 Django 应用和 APP 的目录与通过命令行创建的项目目录结构一致,这里可以通过点击左上角的启动按钮来启动 Django 项目

image.png

启动时会出现如下报错,我们只需要在 settings.py 文件顶部导入 os 模块即可

image.png

再次点击启动按钮,即可完成 Django 项目的启动

image.png

如果需要再创建一个 APP 则需要在命令行中使用 python manage.py startapp [APP 名称] 的方式来创建,使用 PyCharm 初识创建 Django 项目时只能创建一个 APP。

---------------------------END---------------------------

题外话

感谢你能看到最后,给大家准备了一些福利!

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。


👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img

二、Python兼职渠道推荐*

学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
在这里插入图片描述

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

  • 20
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值