震撼!用Python开发网站如此简单

Flask是一个基于Python语言的微型Web框架。之所以被称为微型,是因为其核心非常小,但是该Web框架简约而不简单,具有很强的扩展能力。本文介绍如何编写和运行第一个Flask Web应用程序。

当然,阅读本文之前,需要读者有一定的Python基础。有时间的同学可以填写以下的调查,让我们了解阅读本文的读者Python掌握情况。

一 安装Flask框架

要使用Flask框架,必须先安装Flask。安装主要方式有两种。

1.在PyCharm中安装Flask

(1)执行File|Settings命令,如图2.2所示。

图2.2 选择File|Settings命令

(2)在上一步操作基础上,继续执行Project:untitled(untitled为工程名,要根据实际的工程名来选择)|Project Interpreter,如图2.3所示。

图2.3 找到Project Interpreter

(3)单击图2.3中的“+”号按钮后,弹出如图2.4所示对话框,在输入框中输入Flask,然后回车。

图2.4 执行Flask的安装

(4)安装成功以后,如图2.5所示。

图2.5 成功安装Flask框架

2.用pip方式安装Flask

笔者的虚拟环境地址为J:\\flask-venv\\venv,在cmd下按以下步骤操作:

上面3个命令的每个命令输入完后都需要回车。执行完这3个命令后,表示成功激活当前虚拟环境。在(venv)J:\\flask-venv\\venv\\Scripts>下输入pip install Flask,即:

然后回车,即可安装Flask了。

注意: 后续章节用到的很多框架都可以通过这两种方式来完成安装,读者可以根据自己的喜好来选择安装方式。

2.2.2 在Flask中输出Hello World

所有的Flask程序都必须创建一个程序实例。Web服务器使用一种名为Web服务器网关接口(Web Server Gateway Interface,WSGI)的协议,把接收自客户端的所有请求都转给这个对象进行处理。程序实例是Flask类的对象,经常使用下述代码创建:

from flask import Flask这行代码表示从Flask框架中引入Flask对象。app=Flask(__name__)这行代码表示传入__name__这个变量值来初始化Flask对象,Flask用这个参数确定程序的根目录,__name__代表的是这个模块本身的名称。

使用route()装饰器注明通过什么样的URL可以访问函数,同时在函数中返回要显示在浏览器中的信息。代码如下:

@app.route(\’/\’)这行代码指定了URL与Python函数的映射关系,我们把处理URL和函数之间关系的程序定义为路由,把被装饰的函数index()注册为路由,此处注册给index()函数的路由为根目录。

这里的index()函数叫做视图函数,视图函数必须要有返回值,返回价值为字符串或简单的HTML页面等内容。

系统初始化了,路由和视图函数有了,Flask程序如何运行呢?Flask程序的运行需要服务器环境,我们可以通过run方法来启动Flask自身集成的服务器。代码如下:

如果__name__==\’__main__\’,就要启用Web服务来运行上面的程序,服务器一旦开启,就会进入轮询状态,等待并处理请求。在app.run()中可以传入一些参数,比如debug,app.run(debug=Ture),表示设置当前项目为debug模式,也就是调试模式。如果设置了调试模式,遇到程序有错误,会在控制台输出具体的错误信息,否则只会笼统地报告“应用服务器错误”的信息。另一方面,如果设置为调试模式,期间又修改了程序代码,系统会自动重新将修改的代码提交给Web服务器,你只需要确保浏览器没有缓存,便可以得到最新修改的代码结果。

app.run()还可以传入端口等信息,比如app.run(host=\’0.0.0.0\’,port=8080),host=\’0.0.0.0\’参数设置启用本机的IP地址可以访问,端口地址指定为8080,如果不指定,则为5000。

接下来,在PyCharm中实现上述项目。

在PyCharm中新建一个名称为2-1的工程(新建工程注意使用已经存在的“虚拟环境”),如图2.6所示。

图2.6 选择使用已有“虚拟环境”

app.py的内容见例2-1。

例2-1 Flask实例:app.py

运行程序,结果如图2.7所示。

图2.7 第一个程序Hello World

如果启用的端口不是5000端口,这里port=8888在笔者的PyCharm 2018.2.1版本中是不会生效的,访问地址仍然为 http://127.0.0.1:5000/ ,为使新端口地址生效,还需要做进一步设置。

(1)执行Run|Edit Configurations命令,如图2.8所示。

图2.8 执行Run|Edit

(2)弹出如图2.9所示对话框。

图2.9 运行端口设置

(3)在Additional options输入框中输入“–host=192.168.31.118–port=8888”(192.168.31.118为笔者计算机的IPv4地址),当然这里你也可以输入“–host=127.0.0.1–port=8888”。接下来,在浏览器地址栏可以输入 http://192.168.31.118:8888/ 访问网页,192.168.31.118一个网段内的局域网计算机也可以通过 http://192.168.31.118:8888/ 访问到此网页的内容。

注: PyCharm在2018.2.1之前的版本是不需要上述两个步骤设置的。

网站搭建流程:如何搭建一个网站?

目前市面上有不少开源的CMS系统,可以快速搭建一个网站,但是延展性、安全性、功能适配性肯定没有按需求开发的性能好。所以下面主要介绍不使用开源CMS系统搭建网站的过程。

在做网站之前首先要找好网站的定位,确定好网站要服务哪一部分人群、要足他们的什么需求以及网站的后期盈利方式等。

·根据网站的定位确定一个符合网站定位的名字和域名,便于上线后的推广。

·策划网站的功能模块以及页面布局

·画出页面的原型图

设计师根据原型图,设计页面,形成设计稿。

搭建静态页面是指将设计的网页效果图转换为能够在浏览器浏览的页面。这就需要对页面设计规范有一个整体的认识并掌握一些基本的网页脚本语言,例如HTML、CSS等。需要注意的是,在拿到网页设计效果图后,切忌直接切图、搭建结构。应该先仔细观察效果图,对页面的配色和布局有一个整体的认识,主要包括颜色、尺寸、辅助图片等,具体介绍如下

(1)颜色:观察网页效果图的主题色、辅助色、点睛色,了解页面的配色方案。

(2)尺寸:观察网页效果图的尺寸,确定页面的宽度和模块的分布。

(3)辅助图片:观察网页效果图,看哪些地方使用了素材图片。确定需要单独保留的图片。例如,重复的背景图、小图标、文本内容配图等。

对页面效果图有了一个基本的分析之后,就能够“切图”了。“切图”就是对效果图进行分割,将无法用代码实现的部分保存为图片。当切完图之后,就可以使用HMCs搭建静态页面。搭建静态页面就是将效果图转换为浏览器能够识别的标记语言的过程。

静态页面建设完成后(一般和前端工程师工作并行),如果网站还需要具备一些动态功能(例如搜索功能、留言板、注册登录系统、新闻信息发布等),就需要开发动态功能模块。目前广泛应用的动态网站技术主要有PHP、ASP、JSP三种,具体介绍如下。

(1)PHP

PHP即Hypertext Preprocessor(超文本预处理器),是一种通用的开源脚本语言。PHP语法吸收了C语言、Java(C语言和Java均是编程语言)的特点,利于学习,使用广泛,主要适用于web开发领域。PHP提供了标准的数据库接口,数据库连接方便,兼容性和展性非常强,是目前使用较广泛的技术。

(2)ASP

ASP即Active Server Pages(动态服务器页面),是一种局限于微软的操作系统平台之上的动态网站开发技术,主要工作环境为微软的IIS应用程序结构。ASP入门比较简单,但是安全性较低,而且不宜构架大中型站点,其升级版ASP.NET虽然解决了这一问题,但开放程度低,操作麻烦。

(3)JSP

JSP即Java Server Pages(Java服务器页面),是基于Java Servlet以及整个Java体系的Web开发技术,它与ASP有一定的相似之处。JSP被认为是网站建设技术中安全性最好的,虽然学习和操作均较为复杂,但目前被认为是三种动态网站技术中有前途的技术。

网站建设后期事宜主要包括网站的测试、上传、推广、维护等,具体介绍如下。

(1)网站测试

网站测试主要包括本地测试和上传到服务器之后的网络测试,具体介绍如下

·本地测试:是指在网站搭建完成之后的一系列测试。例如,链接是否错乱,是否兼容不同的浏览器,页面功能逻辑是否正常等,以确保网站发布到服务器上不会出现些基本错误。

·网络测试:是指网站上传到服务器之后针对网站的各项性能情况的一项检测工作。例如,网页打开速度的测试,网站安全的测试(服务器安全、脚本安全)等。

(2)网站上传

网页制作完成后,最终要上传到Web服务器上,网页才具备访问功能。在网页上传之前首先要申请域名和购买空间(免费空间不用购买),然后使用相应的工具上传即可。上传网站的工具有很多,可以运用FTP软件上传(例如Flash FXP),也可运用Dreamweaver自带的站点管理上传文件。

(3)网站推广

当网站上传发布后,还要不断对其进行推广宣传,以提高网站的访问率和知名度。推广网站的方法有很多,例如,到搜索引擎上注册、与其他网站交换链接、加入广告链接等。

(4) 网站维护

网站只有经常注意更新与维护保持内容的新鲜感,才能持续吸引访问者。网站维护阶段的主要工作是更新网站内容、确保网站的正常运行以及历史文件的归类等。

用纯Python就能写一个漂亮的网页,再见HTML

再见HTML ! 用纯Python就能写一个漂亮的网页

我们在写一个网站或者一个网页界面的时候,需要学习很多东西,对小白来说很困难!比如我要做一个简单的网页交互:

天啊,听听头都大呢!其实我就给老板做一个简单的交互的页面,而且我只会Python ,有没有很简单的办法可以做到呢。

今天小编在Github上逛的时候,找到一个非常酷的神器,名字叫remi ,目前收获了2300个赞。

再见HTML ! 用纯Python就能写一个漂亮的网页

star并不是很多,但是这个库可是选入2018年的十大明星库,号称是一个独立的GUI库,而且最牛逼的就是这个库竟然小于 100K,是否很神奇呢,我们一起来体验看一下特性:

安装

如何安装呢,因为是Python 库,直接用pip 即可

如果是没有网络的,或者服务器跟外网不通的,可以离线安装。下载这个包,然后用install 安装

快速体验

我们来快速看一下,这个简单的Hello world网页。

再见HTML ! 用纯Python就能写一个漂亮的网页

这里面包含了一个 2个元素:

点击这个按钮还会改变Hello world的文本内容,看点一下就变成了Button pressed.

再见HTML ! 用纯Python就能写一个漂亮的网页

上面这个简单的效果,其实只用了20来行Python代码,都是原生的Python代码,没有用一行HTML .

我们来看一下源码:

再见HTML ! 用纯Python就能写一个漂亮的网页

整个的代码的结构层次还很清晰的:

再见HTML ! 用纯Python就能写一个漂亮的网页

更多复杂的网页元素

看完上面的设计是不是就觉得跟Python里面大名鼎鼎的tk库很相似啊,上面的只是开胃菜,这个remi还能提供更复杂的gui界面元素。

再见HTML ! 用纯Python就能写一个漂亮的网页

上面的是一个完整的demo页面,基本上常见的控件元素的都包含了,比如有菜单栏,文本,按钮,单选框,进度栏,下拉框,表格,弹出框,按钮选取文件路径,文件树形结构,日期等几十种控件。

需要更多2020最新Python资料 私信小编“学习”即可获取。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。