Django简述和实践

  • 前言
  • 一、Django简述
  • 1.1 MVC 优势和特点
  • 1.2 MVC与MTV
  • 1.2.1 MVC模型
  • 1.2.2 MTV 模型
  • 二、如何安装Django
  • 三、使用Django创建一个项目
  • 3.1 创建HelloPython项目
  • 3.2 视图和 URL 配置
  • 3.3 path() 函数说明
  • 总结



前言

Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。


一、Django简述

Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)。
使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。

1.1 MVC 优势和特点

MVC拥有:低耦合、开发快捷、部署方便、可重用性高、维护成本低等优势,以及强大的数据库功能 、自带强大的后台功能 、优雅的网址等特点

1.2 MVC与MTV

1.2.1 MVC模型

MVC 模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

MVC 以一种插件式的、松耦合的方式连接在一起。

模型(M)- 编写程序应有的功能,负责业务对象与数据库的映射(ORM)。

视图(V)- 图形界面,负责与用户的交互(页面)。

控制器(C)- 负责转发请求,对请求进行处理。

django系统物理架构设计 django mvt架构模型_python

1.2.2 MTV 模型

Django 的 MTV 模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django 的 MTV 分别是指:
M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
T 表示模板 (Template):负责如何把页面(html)展示给用户。
V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template。
除了以上三层之外,还需要一个 URL 分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View 处理,View 再调用相应的 Model 和 Template。

二、如何安装Django

首先我们直接进入Django官网,具体信息如图所示:

django系统物理架构设计 django mvt架构模型_django_02


在右下角有个Django的最新版本,我们点击download进入如下界面:

django系统物理架构设计 django mvt架构模型_django系统物理架构设计_03


我们可以发现可以用pip进行安装Django,我已经测试,能够安装成功

pip install Django==3.2.5

三、使用Django创建一个项目

3.1 创建HelloPython项目

安装Django后,我们先使用Django 管理工具-django-admin

1、先使用shift+鼠标右键

2、输入django-admin,可以得到如下信息:

django系统物理架构设计 django mvt架构模型_MVC_04


3、使用下述代码来创建 HelloPython项目

django-admin startproject HelloPython

这时候会得到Hello Python的文件夹

django系统物理架构设计 django mvt架构模型_python_05


django系统物理架构设计 django mvt架构模型_django_06


文件夹类有上述信息:

• HelloPython: 项目的容器。

• manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。

• HelloPython/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。

• HelloPython/asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。

• HelloWorld/settings.py: 该 Django 项目的设置/配置。

• HelloPython/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。

• HelloPython/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

接下来我们接下来输入以下命令,启动服务器:

python3 manage.py runserver 0.0.0.0:8000

然后我们使用python manage.py runserver来查看是否正确创建了项目
得到如下信息:

PS D:\python_work\HelloPython> python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

1、System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
July 26, 2021 - 16:14:29
2、Django version 3.2.5, using settings 'HelloPython.settings'
3、Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

在1处,Django通过检查确认正确地创建了项目;

在2处,它指出了使用的Django版本以及当前使用的设置文件的名称;

在3处,它指出了项目的URL。URL http://127.0.0.1:8000/表明项目将在你的计算机(即localhost)的端口8000上侦听请求。localhost是一种只处理当前系统发出的请求,而不允许其他任何人查看你正在开发的网页的服务器。

现在我们在浏览器输入http://127.0.0.1:8000/,得到如下界面:

django系统物理架构设计 django mvt架构模型_MVC_07

3.2 视图和 URL 配置

在先前创建的 HelloPython 目录下的 HelloPython 目录新建一个 views.py 文件,并输入代码:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello python! ")

接着,绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.hello),
]

再到浏览器上输入:http://127.0.0.1:8000/

得到如下信息:

django系统物理架构设计 django mvt架构模型_django_08


当然也可以使用以下代码代替:

from django.urls import path
 
from . import views
 
urlpatterns = [
    path('hello/', views.hello),
]

3.3 path() 函数说明

Django path() 可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。

语法格式为:

path(route, view, kwargs=None, name=None)

route: 字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view。

view: 用于执行与正则表达式匹配的 URL 请求。

kwargs: 视图使用的字典类型的参数。

name: 用来反向获取 URL。

总结

期待大家和我交流,留言或者私信,一起学习,一起进步!