PythonWEB开发技术简介与环境配置与MVT设计模式简介
优采云 发布时间: 2021-06-03 03:36PythonWEB开发技术简介与环境配置与MVT设计模式简介
Python WEB开发技术介绍。 Django 和环境配置以及 MVT 设计模式介绍。开发一个博客站点项目思路路由编写和模型设计实战快速开发一个网站后台并尝试编写实战模板设计和编写完善博客站点其他功能跟进一、Python WEB开发技术介绍
WEB开发技术主要用于网站开发。您可以使用 Python 进行网站 开发。 网站开发最常用的语言是PHP,但Python作为更通用的编程语言,也更适合WEB开发领域。在本文中,我将向您展示如何使用 Python 进行 WEB 开发。使用Python进行WEB开发时,可以使用Django、Flask等不同的框架,当然也可以不使用任何框架直接使用CGI编程进行站点开发。本文将与大家分享如何使用Django进行WEB开发。 Django是Python WEB开发中比较成熟的框架,足以应付大型项目的压力。
二、Django 介绍及环境配置及 MVT 设计模式介绍
Django 是一个用 Python 语言设计的优秀 Web 开发框架。安装django时,只需要在命令行使用pip install django,在环境变量中添加django-admin.exe的路径即可。安装完成后,可以直接从命令行运行 django-admin 命令。如果显示一系列Django命令,则表示已经配置了Django运行环境。如下图。
接下来,我将向您展示如何使用 Django 创建一个空白站点项目。在根目录下运行django-admin startproject ali,在根目录下创建一个名为ali的空白站点项目。您可以在目录中看到一个空白站点的基本项目结构。通常一个网络站点同时收录许多小站点。例如,阿里云包括云栖社区、云栖博客等子站点。在 Django 中,此类子站点也称为 APP。如何在站点下创建APP?首先,在命令行下输入站点项目。然后,使用 python manage.py startapp home 命令创建一个名为 home 的变电站。接下来介绍子站的结构,进入子站的目录。 admin.py 主要用于后台配置。 models.py主要用于模型设置,模型设置主要与数据库相关。 views.py 主要用于视图设置。在Django中,视图主要负责业务逻辑的处理,前端页面的设计放在模板中。
Django 是使用 MVT 设计模式设计的。与MVC模型不同。在MVC中,M指的是模型,V指的是视图(主要负责前端页面的处理),C指的是控制器(负责业务逻辑的处理)。例如,ThinkPHP 使用 MVC 架构。 MVT架构中,M指模型,V指视图(负责业务逻辑处理),T指模板(负责前端接口)。因此,在实际开发中,业务逻辑处理程序应在视图中实现,前端应在模板中实现。
三、开发一个博客网站项目的想法
博客站点案例演示请看视频。
在开发网站之前,首先需要明确网站的功能。其次,设计站点的数据存储方式,即站点的模型。之后依次实现各个功能,在实现过程中设计页面。在设计过程中需要一些前端知识。第一次接触前端设计时,为了快速完成前端设计,可以使用一些前端框架。比如bootstrap,它提供了一个可视化的布局系统,可以通过拖动组件来完成设计,并下载它的前端源码。其界面如下图所示。
四、Routing写作与模型设计实战
路由是指网站的URL结构,即访问请求的分布。在 Pycharm 中打开站点项目。打开 urls.py 文件以配置路由。首先,通过 from home 导入视图从 home 站点导入视图为 home_views 并将其别名为 home_views。 URL 分配通过 url(r’^admin/’, admin.site.urls) 进行。第一个参数代表URL请求,第二个参数代表访问请求被引入到哪个视图函数中。 URL的结构可以通过路由来规划。
完成路由URL规划后,需要设计整个网站数据存储结构,即数据模型。默认情况下,SQLite 将用作数据库。如果需要将mysql配置为数据库,可以修改settings.py中DATABASES部分的代码。如下图。
在这种情况下,将使用 sqllite 作为数据库。模型的设计一般根据数据的存储情况进行分析。首先要做的是分析站点需要存储哪些信息。在这种情况下,需要存储的信息包括用户信息、文章信息、分类信息和评论信息。每种信息都可以存储在一个表中,表的字段根据信息的属性进行设计。在设计表字段时,尽量做到全面。本例中的表设计如下图所示。
模型设计完成后,必须转换成编程语言。模型的实现需要在models.py中实现。每个表由一个python类实现,每个字段相当于类中的一个变量。具体实现细节请看视频。每个字段都需要有对应的存储类型。最常用的类型是用于存储字符串的 CharField、用于电子邮件地址的 EmailField、用于存储整数数据的 IntegerField、用于存储布尔数据的 BooleanField 和用于长文本类型的 TextField。
五、快速开发网站后台,查看写作实战
模型设计完成后,将进行网站backstage 开发。开发完网站background后,我们进入视图编写的环节,就是功能的实现。在Django目录结构中,每个文件都有自己的分工。后台开发需要在admin.py中完成。首先需要在admin.py中注册之前设计好的模型,也就是将模型绑定到后台,这样就可以在后台管理这些模型了。通过绑定,还提供了一个可视化的环境,避免了通过代码控制数据库。接下来给大家讲解一下如何在后台注册模型。首先,从模型导入每个模型。然后,使用 list_display 显示需要在后台显示的信息。以显示用户信息为例。如果 list_display 中不收录“passwd”,则后台将看不到用户的密码。最后,使用 admin.site.register 将信息真正绑定到后台。它有两个参数。第一个参数表示需要绑定的模型,第二个参数表示需要显示的信息。这样,后台注册就完成了。
接下来,创建一个后端帐户。因为案例中使用的是数据库,所以必须在创建超级管理员之前同步数据库,即使用python将模型同步到数据库中,进入终端终端,使用python manage.py makemigrations和python manage。 py migrate 命令来实现。然后使用命令 python manage.py createsuperuser 创建超级管理员,如下图。之后就可以运行站点并登录后台查看数据了。
接下来说明视图的准备。视图写作是Django网站写作的核心。一般来说,每个函数都会以视图函数的形式实现,视图写在views.py中。接下来,我们将一一介绍功能实现过程。一、实现文章界面显示的功能。首先,您需要获取文章 的ID 并在URL 中提供它。所以需要在路由中进行规划,在文章查看函数中设置ID作为参数。
视图函数要实现的功能是根据文章ID查询文章,需要一个model。最常用的查询方法有以下两种,第一种,如Article.objects.filter(id=aid).values("id", "title", "author", "content")。 filter表示过滤信息,values表示要检索的字段。第二种,Typemsg.objects.values("id","typename") 不做信息过滤,直接取出字段。另外大家要掌握通过model来写数据,Usermsg.objects.create(name=name, passwd=passwd, email = email)。实现文章搜索时,首先找到文章并存入Article表中。在视图中导入文章模型,使用查询命令过滤ID,检索文章相关信息。然后,使用 render() 为其分配模板。
六、Template 设计与编写等功能完善博客网站
接下来介绍模板的设计和编写以及其他功能的改进。模板会影响界面的美感。首先需要在settings.py中启用TEMPLATES,并在‘DIRS’中设置模板路径。所有需要的前端模板都可以放在这个文件目录下。例如,我们使用render 将detail.html 模板分配给Article。输入detail.html进行编写。前端设计中需要动态改变的部分放在{{...}}中,代表Django中的变量。例如,使用thisarticle.title 获取当前文章title,使用thisarticle.author 获取当前文章author,使用thisarticle.content 获取当前文章 内容。值得注意的是,{{thisarticle.content | safe}} 由安全源代码解析,否则HTML 源代码将直接显示在网页上。
注册功能
在views.py中实现业务逻辑处理。首先观察 session.has_key。如果找到,说明用户已经登录,不需要注册,直接跳转到根目录。否则,注册并使用 render 将 reg.html 分配给它。在reg.html中完成表单设计,点击submit提交信息到当前页面。在当前页面,通过request.POST获取信息,然后操作Usermsg模型写入数据库。
登录功能
首先,您需要 login.html 模板,输入您的姓名和密码并提交。在视图中,首先判断当前是否登录,如果登录则重定向到根目录,否则返回登录界面,抓取登录信息,通过模型中的过滤器查找用户信息。如果找到这条记录,则登录成功,会话中保存当前用户名。否则登录失败。
退出功能
通过del删除会话信息即可。