pythonweb开发基础教程,python web开发实例

  pythonweb开发基础教程,python web开发实例

  本文详细介绍了Python WEB开发的基本介绍。以一个博客网站的开发为例,说明了基于Django框架开发网站的全过程。通过本文的学习,可以快速掌握基于Django的Python WEB开发方法,进行网站的实际开发。

  嘉宾介绍:

  Jmdny,企业家,资深IT专家/讲师/作家,畅销书《精通Python网络爬虫》作者,阿里云社区技术专家。

  这种分享侧重于以下几个方面:

  Python WEB开发技术简介

  Django、环境配置和MVT设计模式介绍

  关于开发博客网站项目的思考

  路线书写和模型设计。

  快速开发一个网站后台,尝试写实战。

  设计和编写模板,完善博客网站的其他功能。

  后续单词

  1.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提供了一个可视化布局系统,可以通过拖拽组件完成设计,并下载其前端源代码。界面如下所示。

  第四,路线编制和模型设计的实战

  路由是指一个网站的URL结构,也就是访问请求的分布。在Pycharm中打开站点项目。打开urls.py文件以配置路由。首先,通过从主站点导入视图作为home_views从主站点导入视图,并将它们命名为home _ views。该URL由URL (r admin/,admin.site.urls)分配。第一个参数表示URL请求,第二个参数表示访问请求被引入哪个视图函数。网站的结构可以通过路线写作来规划。

  路由URL规划好之后,就要设计整个网站的数据存储结构,也就是数据模型。默认情况下,使用Sqlite作为数据库。如果需要将mysql配置为数据库,可以修改settings.py中DATABASES部分的代码,如下所示。

  在这种情况下,将使用Sqllite作为数据库。模型的设计一般是根据数据的存储来分析的。首先,分析网站需要存储什么信息。在这种情况下,要存储的信息包括用户信息、文章信息、类别信息和评论信息。每种信息都可以存储在一个表中,表的字段是根据信息的属性设计的。设计表格字段时,尽量做到全面。这种情况下的表设计如下。

  模型设计好之后要转换成编程语言,模型的实现要在models.py中实现,每个表都是用一个python类实现的,每个字段相当于类中的一个变量。详见视频。每个字段都需要有相应的存储类型。最常用的类型是用于存储字符串的CharField、用于电子邮件地址的EmailField、用于存储整数数据的IntegerField、用于存储布尔数据的BooleanField和用于长文本类型的TextField。

  第五,快速开发一个网站后台,写观点实战。

  模型设计完成后,将进行网站的后台开发。网站后台开发完成后,进入视图编译,也就是功能实现。在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设置为参数。

  view函数的作用是根据文章ID查询文章,所以需要模型。最常用的查询方式如下:第一种,比如article.objects.filter (id=aid)。值(“id”、“标题”、“作者”、“内容”)。Filter表示信息过滤,values表示要取出的字段。第二,typemsg.objects.values (id , typename )不经过信息过滤直接取出字段。另外要掌握如何通过模型usermsg . objects . create(name=name,passwd=passwd,email=email)写数据。在搜索文章时,首先找到文章,并将其存储在文章表中。将文章模型导入到视图中,使用查询命令过滤ID提取文章的相关信息。然后,使用render()为其分配一个模板。

  不及物动词博客网站的模板设计和编写等功能。

  接下来介绍了模板的设计和编写以及其他功能的改进。模板影响界面的美观。首先,在settings.py中打开模板,在“DIRS”中设置模板的路径。所有需要的前端模板都可以放在这个文件目录中。例如,我们使用render将模板detail.html分配给Article。进入detail.html写作。前端设计需要动态更改的部分放在{{…}}中,代表Django中的变量。例如,使用thisarticle.title获取当前文章的标题,使用thisarticle.author获取当前文章的作者,使用thisarticle.content获取当前文章的内容。值得注意的是{{thisarticle.content safe}}是通过安全源代码解析的,否则HTML源代码会直接显示在网页中。

  注册功能

  在views.py中实现业务逻辑处理.首先观察session.has_key,如果找到,说明用户已经登录,不需要注册,然后直接重定向到根目录。否则,注册并使用渲染将reg.html指定给它。在reg.html中完成表单设计,然后单击提交将信息提交到当前页面。在当前页面中,信息是通过请求获取的。POST,然后对Usermsg模型进行操作并写入数据库。

  着陆功能

  首先,你需要一个login.html模板,输入你的名字和密码并提交。在视图中,首先确定您当前是否登录,如果登录,则重定向到根目录。否则,返回登录界面,抓取登录信息,在模型中通过过滤找到这条用户信息。如果找到该记录,则登录成功,当前用户名保存在会话中。否则,登录会失败。

  注销功能

  通过del删除会话信息即可。

  显示主页

  首页动态变化包括jmdsj和jmdsj分类。调用视图中的模型来获取jmdsj分类和文章信息。然后执行切片操作。由于不可能在首页完整显示数据库中的所有jmdsj,所以有必要对其进行切片(取前二十名乘[:20])。然后,通过for循环遍历jmdsj类别,将它显示在模板中。文章也是一样。详细代码见视频。

  Jmdsj列表页面,其实现方式与主页类似。只是不需要切片。

  Jmdsj版本

  用户需要登录并拥有管理员权限。首先通过session.has_key判断是否登录,如果没有,先跳转到登录页面。如果已经登录,抓取当前用户信息,判断是否有管理员权限。如果您不是管理员,请重定向到主页。如果是管理员,将显示文章发布的模板postarticles.html。首先在模板中设计表单。其次,jmdsj类别需要通过单选按钮显示。发布文章时需要使用富文本编辑器。这里,kindeditor用作富文本编辑器。设置何时打开富文本编辑器在donfig.js案例中,我们在询问TextArea [name="content"]时调用。然后,只需要在输入文章内容处配置textarea,将name字段设置为content,然后通过POST提交给views,并写入数据库。详见视频。

  Django开发网站的关键在于多练习。

  七。后续词

  Python技术直播,希望能帮助你入门。希望大家能学会独立解决问题,比如找资料。其次,项目导向是一种更好的学习方式。你可以给自己设定一个项目目标,在这个过程中不断学习。前期重理论轻实战,后期重理论轻实战。

  历史提交的图片或压缩文件

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: