基于Django 框架的web 项目开发研究
2021-10-18邱红丽张舒雅
邱红丽 张舒雅
(河南质量工程职业学院,河南 平顶山 467000)
1 概述
Python 是目前“最受欢迎的编码语言”之一,它采用极简主义设计思想,语法简单优雅,学习简单、上手快,不需要很复杂的代码和逻辑,即可实现强大的功能!Python 有三大主流Web框架:Django、Flask、Tornado,这三个框架都有各自的特点。Django 是个比较大的框架,自带的功能比较多,但是有时候过于繁琐;Flask 是一个使用Python 编写的轻量级Web 应用框架,框架较小,自带的功能比较少,但是它的第三方模块比较多,但是比较依赖于第三方模块;Tornado 是一个异步非阻塞的框架,非常的强大,而且速度相当快,每秒可以处理数以千计的连接,但是代码完全需要自己手写。
2 Django 框架
Django 框架是Python 有三大主流Web 框架之一,几乎囊括了Web 应用的方方面面,并且还提供了许多网站后台开发经常用到的模块。它通过减少重复的代码,使你能够专注于Web应用上有趣的关键性的东西。为了达到这个目标,Django 框架提供了通用Web 开发模式的高度抽象,为频繁进行的编程作业提供了快速解决方法,并为“如何解决问题”提供了清晰明了的约定。所以,使用Django 框架,可以使你能够以最小的代价构建和维护高质量的Web 应用。
Django 框架采用了MTV 的软件设计模式,即模型(Model),视图(View)和模板(Template),它借用了MVC 的设计模式。其中:
Model(模型):负责业务对象与数据库的对象;
Template(模版):负责如何把页面展示给用户;
View(视图):负责业务逻辑,并在适当的时候调用Model 和Template。
除此之外,Django 框架还有一个urls 分发器,它是将浏览器端页面请求的URL 分发给不同的view 处理,view 再调用相应的Model 和Template。
url 分发机制如图1 所示。
图1 url 分发机制
3 基于Django 框架的Web 项目开发
3.1 开发工具
PyCharm 是 一 种 Python IDE (Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python 语言开发时提高其效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE 提供了一些高级功能,以用于支持Django 框架下的专业Web 开发。使用PyCharm 开发平台,开发基于Django 框架的Web 项目,对程序员来说是个不错的选择。
3.2 基于Django 框架的开发
3.2.1 使用Django 框架进行Web 项目开发,首先,要在PyCharm 平台中安装Django;其次,在PyCharm 平台中创建项目helloworld,项目创建完之后,会在项目helloworld 下面创建一个和helloworld 名称一样的子文件夹。子文件夹helloworld 下有两个重要的文件settings.py 和urls.py。
settings.py:这是一个配置文件,里面有关于语言、时区、安装的APP(application)声明等等信息,URL 分发时,根URL 配置就在这个文件中;
urls.py: URL 配置就在这个文件里,它指明了在访问一个页面时要调用的视图等的映射,确保在访问时可以正确定位到你要实现的功能;
除此之外,还有一个manage.py 文件,它用于执行项目的各种管理操作,比如创建应用、执行数据迁移、启动开发服务器等等。
3.2.2 在项目里创建一个应用(APP: application)
同学们,下面的成语是不是很眼熟?它们都在前面的栏目中出现过哦。试一试,认真看完杂志的你,一定能把这些成语补充完整。
Django 项目的框架搭建之后,我们要创建一个应用,名称为myapp(这个名字可以随便取)。应用创建好之后,项目helloworld下面会出现一个与字文件夹helloworld 并列的myapp 的文件夹,该文件夹里面有一个migrations 文件夹和一些文件。
当访问路径为http://127.0.0.1:8000/myapp 时,自动调用index 视图函数。
3.2.5 运行
开发程序的时候可以使用Django 框架自带的开发服务器。首先,启动服务器;其次,在地址栏中输入http://127.0.0.1:8000/myapp,浏览器上就出显示:hello world!
如果想在地址栏中输入http://127.0.0.1:8000/,就可以调用index 视图函数,那么需要修改url.py,把path('myapp/',views.index),修改为path('',views.index)。
通过上面的几个步骤,把如何创建Django 项目做了简单的介绍。当然,Web 项目还需要涉及到数据库,那么就需要在settings.py 文件中配置数据库的信息,在model.py 文件中定义模型类。最后通过数据库迁移命令makemigrations 和migrate,来创建数据库的表和字段。
4 基于Django 框架的后台管理
在Java 中,想要实现后台管理,是非常的麻烦的。但是,Django 提供的Admin 管理后台,是一套用于管理用户和数据的是Web 系统,通过它可以很方便的实现数据的增删改查功能,实现对用户的管理。
在url.py 文件中,有一个默认的配置:
urlpatterns = [
4.1 创建超级用户
使用之前要先创建超级用户,通过命令python manage.py createsuperuser 创建超级管理员,超级管理员可以管理其他用户、数据、组等。当访问路径为http://127.0.0.1:8000/admin 时,会进入到Admin 后台管理站点,登录界面如图2 所示。
4.2 注册模型类
进入后台管理后,默认是没有我们创建的应用中定义的模型类,需要自己在应用中的admin.py 文件中注册,才可以在后台管理界面中看到,并进行增删改查操作。但是后台默认显示的是该模型类对应的对象名称,如果需要对象的属性显示出来,就需要在admin.py 文件中自定义类,这个类要继承admin.ModelAdmin 类,然后用list_display 列举出需要显示的属性,比如:list_display = ['id', 'name', 'pwd', 'gender'],这样后台管理界面可以清晰的看到对象中的每个属性。
5 结论
Django 框架自带大量常用工具、框架、完善的文档以及强大的数据库访问组件和后台管理系统,非常适合快速开发企业级网站。自带的数据库ORM组件,使得开发者无须学习SQL 语言即可对数据库进行操作;提供的后台管理系统,开发者只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台。