基于Django 框架的Python Web 开发
2022-11-22黄玉书
黄玉书
(武汉软件工程职业学院,湖北 武汉 430205)
1 Django 框架
Django 是一个开源Web 应用框架[1],使用Python语言编写,Django 提供了许多网站后台开发经常用到的模块,可以使开发者能够专注于业务部分,便于快速搭建高性能、优雅的网站。
Django 借用了MVC 的设计模式,使用MTV 的框架模式[2]。该架构中的三部分组成分别为:模型(M)、模板(T)、视图(V)。各部分说明如表1 所示。
表1 MTV 框架模式说明
在Django 项目中,数据模型在models.py 文件中定义;模板文件主要是在Templates 目录下存储的,Templates 目录需手动创建与配置;业务逻辑是在视图文件views.py 中实现。除此之外,还有一个用于实现路由分发功能的urls.py 文件也在Django 项目中有着非常重要的作用。
Django 工作流程示意图如图1 所示。
启动项目后,打开浏览器并输入要访问的URL 后回车,浏览器会向Web 服务器发起请求,Web 服务器会将请求传递到要处理该请求的Django 项目,项目中的urls.py 文件根据URL 地址将请求交给views.py 中相应的视图进行处理(此时涉及数据存取,通过models.py 文件与数据库交互),并将处理结果发送给模板进行渲染,最后将响应数据返回到Web 服务器。
2 基于Django 的图书管理系统的开发及实现
2.1 环境安装
安装Python 3.7.4 版本、安装PyCharm 工具并配置好Python 解释器、安装Django2.2.4 版本。
2.2 创建Django 项目
打开PyCharm,在终端(Terminal)中,输入如下命令创建libManage 项目。
2.3 创建bookApp 应用
在终端(Terminal)中输入如下命令。
找到libManage 子文件夹中的settings.py 文件中的INSTALLED_APPS 字段,然后在该字段的末尾添加一行代码“‘bookApp’,”将应用添加到项目中。
2.4 创建“图书”模型
在bookApp应用中的models.py文件[3]中创建“图书”(Book)模型。编写如下代码:
模型创建完成后需要将创建的模型同步到数据库系统中,在终端(Terminal)中输入命令“python mana ge.py makemigrations”,然后在终端(Terminal)中输入命令“python manage.py migrate”完成数据库模型的同步操作。
2.5 编写视图处理函数
在bookApp 应用下的views.py 文件中编写视图处理函数,代码如下所示。
2.6 制作“图书信息”页面
在“图书信息”页面使用了Bootstrap3 系列版本的前端框架。在bookApp 应用下创建一个static 文件夹,将官网下载的Bootstrap3 源码中的css、fonts 和js 子文件夹拷贝到static 文件夹中。
在bookApp 应用下新建一个templates 文件夹,并新建一个index.html文件,展示图书信息,代码如下所示。
2.7 配置访问路由URL
在项目子文件夹libManage 中的urls.py 文件中配置访问路由,编写如下代码。
2.8 Django 后台管理系统
Django 提供了一个现成高效的后台管理系统,在创建项目的过程中已经自动生成了一个编辑的后台。能够根据定义的模型自动生成管理模块,使用Django的功能的需要创建超级管理员和注册模型类[4]。
(1)创建超级管理员。在终端(Terminal)中输入命令“python manage.py createsuperuser”根据弹出提示信息完成超级管理员的创建。
(2)注册模型类。在bookApp 应用中的admin.py文件,编写如下代码。
2.9 系统测试
在终端输入命令“python manage.py runserver”启动项目,在浏览器中输入http://127.0.0.1:8000/admin 出现Django 后台管理系统登录界面。输入超级管理员的用户名和密码登录。登录成功后,向Books 模型中添加几条图书信息数据。
打开浏览器,输入网址http://127.0.0.1:8000/,访问“图书信息”页面如图2 所示。
通过Django 后台管理系统对创建的图书模型进行增删改的操作,前端页面也会随之变化,实现了图书信息的管理功能。这样就搭建好了一个基于Django 的简易图书管理系统。
3 结语
Django 框架自带大量常用工具,结合Django 项目默认的SQLite3 数据库完成了简易的图书管理系统开发。使用Django 框架进行Python Web 开发可以非常方便、快捷地完成Web 开发,同时Django 自带的后台管理系统也便于系统的维护和管理。