python制作网页服务器_十分钟上手Python开发网站服务器

news/2024/5/15 14:50:53/文章来源:https://blog.csdn.net/weixin_39808726/article/details/110170635

如何一键安装Python开发环境?如何使用Jupyter Notebook开发Flask网站服务器?跟我一起来上手Python编程,十分钟开发一个动态网站服务器程序。9e53badb17b6a0953b95e34295403d24b0a7c673.jpg

Python编程

首先请安装Anaconda软件。

登录https://www.anaconda.com官网,下载安装Individual Edition独立版,下载可能有点慢,耐心等待。8ee495e0b86d4546360d432b84fa3e5daf69bb36.jpg

下载独立版b3bc512736a58ec68dfb1f8c1c30e2e5a2f77e62.jpg

下载按钮

d27b1f906aec532687526a3924b645c394b8b7a0.jpg

根据操作系统选择

下载后直接安装。注意安装路径要选一个没有中文字符的文件夹,不要选“C:/user/王小明/anaconda”这样的文件夹,而应该选“C:/user/wangxiaoming/anaconda”这样的。

使用JupyterNotebook

首先从windows开始菜单找到Anaconda文件夹下绿色环形的Anaconda Navigator启动。如果是苹果电脑的话可以直接从应用程序里面找到它。

89762a69e4b14390aa46d36170685e74a4a59a12.jpg

Anaconda Navigator界面

然后点击图中第二个Jupyter Notebook下的Launch启动它。这会打开一个网页,看上去像下图,但实际它是个文件管理器,点击【新建】按钮就可以创建文件夹和文件。需要说明的是,默认创建的文件夹总是叫做Untitled Folder,要点击它前面的小方块勾选,然后上面就会出现【重命名】和【删除】按钮。ae14b571b78f8a074b0f6607d6140da9f44e0b93.jpg

Notebook文件管理器界面

点击【新建】,新建一个Python3文件,看到代码编写界面,每个输入框都可以撰写代码,叫做代码块。点击顶部的加号可以新建一个代码块。fda2ef44c0de13a278f9136355c7230ba8d243b3.jpg

Python编码点击【未命名】文字可以对文件名改名;点击【+】加号增加新的代码块,点击上下箭头可以把代码块上下移动顺序;输入代码print('Hello Python')后点击【运行】按钮可以运行代码,下面自动出现Hello Python字符。

安装Flask

什么是Flask?它是Python的网站服务端开发框架,简单说就是一个代码模板,可以帮助我们非常快速的开发出网站服务器软件。

直接在Notebook的代码块中输入conda install flask,点击【运行】按钮就可以自动完成Flask安装了。ae1f07c07d47ab426cb5fd100788b7ce22b73e9b.jpg

安装Flask

编写最简单网站服务器

我们直接访问Flask官方网站https://palletsprojects.com/p/flask/,直接复制页面上的代码。27d47eca55d3bd4ef604d5c81a7eaeba65c0a311.jpg

Flask官网示例代码

我们把这个代码粘贴到Notebook的代码块里面。在第一行添加%%writefile run.py,这行的意思是把这一行下面的代码保存为文件run.py。代码如下图。

%%writefile run.py

from flask import Flask, escape, request

app = Flask(__name__)

@app.route('/hello')

def hello():

name = request.args.get("name", "World")

return f'Hello, {escape(name)}!'

运行这个代码之后,可以在Notebook的文件管理器页面看到多了一个run.py文件,这就是我们保存出来的服务器代码文件。

我们注意@app.route('/')这个写法,它表示如果用户访问类似http://xxxxx.com/网站地址的话,服务器就会运行hello()下面的代码。

name = request.args.get("name", "World"),这是说,如果用户访问http://xxxxx.com/?name=Tom的地址,那么这里的name就会都表示Tom,如果用户只访问http://xxxxx.com/网站地址,那么Python就认为name是默认值Workd。怎么验证呢?下面我们把服务器运行起来。

运行服务器文件

点击加号【+】新建一个代码块,粘贴下面的代码:

import subprocess as sp  #工具,用来运行.py文件,run.py

try:

server.terminate() #防止我们重复运行run.py

except:

pass

server = sp.Popen("FLASK_APP=run.py flask run --port=8032", shell=True)

server

运行这个代码就会启动run.py服务器,会出现一行类似的文字。

你可以访问下面的网址来查看效果:

http://localhost:8032/

http://localhost:8032?name=xiaomaod583eedc7d02da09616ec19038d70868ea999d06.jpg

根据地址名字改变内容的网页

网页文件服务器

我们每天浏览的网页其实都是一个个文件,就像我们每天使用的word文件.docx一样,和我们上面用的.py文件一样。

网页文件都是.html格式的,它们都存储在网络公司的服务器上面,我们打开一个网页,就是向网络服务器请求要看一个文件。

网络服务器上有一个服务器程序,接收到用户请求之后就会读取相应的网页文件,然后发给用户观看。

我们的任务就是编写这个会读取网页文件的代码。其实很简单,只要在run.py里面加三行就可以了,如下所示。

%%writefile run.py

from flask import Flask, escape, request, send_from_directory

app = Flask(__name__)

@app.route('/hello')

def hello():

name = request.args.get("name", "World")

return f'Hello, {escape(name)}!'

@app.route('/web/') #静态文件服务器:你要哪个文件就给你哪个文件

def send_js(path):

return send_from_directory('web', path)

if __name__ == "__main__":

app.run()

运行这个代码会自动重新保存为新的run.py文件。

@app.route('/web/'),这句的意思是如果用户要访问http://xxxx.com/web/a.html地址,那么就读取web文件夹下面的a.html文件发给用户。下面的send_from_directory就是从目录文件夹下发送的意思。

但这时候我们还不能运行服务器,因为我们还没有在web文件夹下创建任何一个文件。

先在Notebook文件管理页面【新建】一个文件夹,点击Untitled Folder选框改名为web。

用下面的代码创建一个html文件,它包含了一个form表单组,在这个组里有三个元素,一个label文字是name,一个文字输入框input,还有一个按钮button。

%%writefile ./web/index.html

姓名name:


运行上面的代码块就可以在web文件夹下生成出一个index.html文件了。

再次运行下面这个代码块,它再次运行我们带有网页文件服务功能的服务器文件run.py。

import subprocess as sp  #工具,用来运行.py文件,run.py

try:

server.terminate() #防止我们重复运行run.py

except:

pass

server = sp.Popen("FLASK_APP=run.py flask run --port=8032", shell=True)

server

然后我们访问http://localhost:8032/web/index.html,就可以看到下面的效果。87ed75db0737d5fa925d0ab545ed22055e08f526.jpg

文件服务器读取的文件

随便输入任何一个名字比如zhyuzh,点击Submit提交按钮,就会出现Hello zhyuzh字样。之所以会出现这个效果,注意点击按钮后的地址栏,已经变为http://localhost:8032/hello?name=zhyuzh,所以能够正常显示问候。

但为什么会跳转到http://localhost:8032/hello?name=zhyuzh页面呢?这要注意我们的index.html文件中的form表单,它后面有一个action=/hello,就是说点击Sumbit按钮提交后就会跳转到/hello地址,而这个地址对应我们服务器文件中的@app.route('/hello')下面的代码。

更多内容

上面的代码主要实现的功能是:监听用户的地址请求,给以动态的反馈,Hello XXX,name是谁就Hello谁。

网页文件服务器,读取文件发给用户看,暂时我们只有一个web/index.html。

暂时我们还不能把用户发送来的name保存下来,所以我们还没办法实现用户注册和登录功能。要做这个该怎么办?至少要有两个技术:数据库。要能够让我们的Python服务器程序能够读取数据库里面的信息,也可以把用户发送来的信息保存到数据库。比如把用户发来的用户名和密码都保存好,下次用户再发来错误的密码时候就可以告诉他密码错了。

Cookie。这个比较难解释,简单说就是可以让我们的Python服务器程序在用户的电脑上做个记号。有什么用呢?比如说有人从电脑上发来正确的用户名和密码,我们就可以在他的电脑上做个标记,记住这就是他,这样的话,他下次再发来请求的时候我们就能从这个特殊的标记知道他是谁了,我们可以直接发送他的购物车、收藏夹、好友列表什么的给他,他不用每次都重复发用户名密码也能实现登录。

扩展资料

后续文章和更多内容,请在B站搜索【小诺同学2020】。

或者直接加入我们的【野蛮生长技术交流】QQ群获取更多资源:781785435。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_807978.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

脑图学习架构设计之二:网站架构模式

转载于:https://blog.51cto.com/dba10g/1610906

IE无法打开internet网站已终止操作的解决的方法

用IE内核浏览器的朋友,或许不经意间会碰到这样滴问题:打开某个网页时,浏览器“嘣”跳出一个提示框“Internet Explorer无法打开Internet 站点...已终止操作”。而大多数情况下该页面甚至非常可能看起来已经载入完成,内容能够全然显…

iPhone App创建与审核步骤二:如何在developer.apple.com网站中设置App预览和截屏以完成App上架

iPhone App创建与审核步骤二:如何在developer.apple.com网站中设置App预览和截屏以完成App上架,根据图标规范RAD Studio 10.4 for delphi XE 或RAD Studio 10.3 for delphi 如何制作AppIcon图标 一、APP 预览和截屏 截屏规范 设备尺寸或平台 截屏尺寸 …

移动端网站设计参考规范(初稿)

找了一些这方面的资料,都是零零散散的,东西太多看起来比较累人,所以把一些有用的实际数据提炼了出来,仅供参考。 一、约定规范 团队内部使用相同版本Photoshop,Illustrator文件命名规范“版本号页面内容修改最新序号”…

Iphone App创建与审核步骤一:如何在developer.apple.com网站中设置你的IOS开发所需的Certificates, Identifiers Profiles

Iphone App创建与审核步骤一:如何在developer.apple.com网站中设置你的IOS开发所需的Certificates, Identifiers & Profiles(证书、App ID及配置文件) 步骤一、Apple Developer App的注册于账户管理 步骤二、在手机上打开最新版本的Appl…

【Bootstrap3.0建站笔记一】表单元素排版

1、文字和输入框前后排列&#xff1a; 代码&#xff1a; <div class"row"><div class"col-lg-12"><div class"panel panel-default"><div class"panel-heading"><h2>条件查找</h2></div>&l…

网站只有php怎么办,想获取一个网站的网站内容,但总是获取不到该怎么办

是这个网站&#xff1a;http://www.reg007.com/search。比如说&#xff0c;我在输入框里面输入了981267080qq.com他就会跳转到http://www.reg007.com/search?q981267080-at-qq.com。我想用php的file_get_contents获取http://www.reg007.com/search?q981267080-at-qq.com的网页…

配置Nginx网站https访问、http共存访问、http强制跳转到https

最近公司一客户要求服务器与客户端之间传输内容是加密的&#xff0c;通过https协议访问&#xff0c;于是使用OpenSSL生成证书&#xff0c;默认情况下ssl模块并未被安装&#xff0c;如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数&#xff0c;需要确保机器…

php 随机在文章中添加锚文本_原创文章SEO技巧——嘉定行吟科技

一、网站内容关键词的选定是根据自动分词许多SEO优化人员&#xff0c;对于网站页面内容的选择大多都是在关键词标签中出现的&#xff0c;但实际上这是一种错误的方法&#xff0c;其中一些只是优化人员的主观看法&#xff0c;没有从搜索引擎的规则上考虑&#xff0c;如果优化人员…

网站暴库原理与方法剖析

2019独角兽企业重金招聘Python工程师标准>>> 一、方式 暴库的方式有多种多样&#xff0c;我知道的就有3种以上&#xff0c;常见的暴的方法有&#xff1a;%5c类暴,conn.asp暴,ddos暴等等 二、原理 “%5c”暴库法&#xff0c;它不是网页本身的漏洞&#xff0c;而是利用…

如何用自己电脑做服务器,绑定域名建一个个人网站

使用自己的电脑&#xff0c;下载一个tomcat服务器&#xff0c;并将域名解析到本机&#xff0c;这样就可以发布自己的网站了。不过&#xff0c;关机之后网站便登不上去了。这样做只是为了我们可以更好的开发调试自己的工程&#xff0c;网站上线之后可以让更多的朋友帮你找bug。这…

www.beishuo.net 网站打开异常慢的原因

现象&#xff1a;客户投诉http://www.beishuo.net/ 网站在移动线路下打不开或者打开异常缓慢&#xff08;墨绿色是服务器向客户端发送数据的时间&#xff0c;显得非常耗时&#xff09;分析&#xff1a;这个CASE比较有意思&#xff0c;我在用科来分析数据包的时候发现服务器的重…

程序员常用的刷题网站

1、LintcodeLintcode.com——LintCode网站是国内较大的在线编程&测评网站。此网站提供各大IT公司的算法面试题类型&#xff0c;行分门别类&#xff0c;由简单到中等&#xff0c;再到难&#xff0c;便于不同水平的程序员进行刷题练习。同时网站支持多种语言&#xff08;Java…

《SEO的艺术(原书第2版)》——2.1 理解搜索引擎结果

2.1 理解搜索引擎结果 在搜索营销领域&#xff0c;搜索引擎返回的满足查询要求的网页称作搜索引擎结果页&#xff08;Search Engine Result Page, SERP&#xff09;。每个搜索引擎返回结果的格式略有不同&#xff0c;并且包含垂直搜索结果&#xff08;针对查询中某些触发器的特…

SEO如何写好文章标题

近一半网民只看标题不点内容&#xff0c;许多网站有个标题和内容摘要&#xff0c;而这个摘要基本概括了整篇新闻的大致内容&#xff0c;所以的互联网信息泛滥的今天&#xff0c;看标题看摘要成了最快阅读新闻资讯的一种有效方式。 如何写好标题&#xff1f;我一直愁这事呢&…

abv asp是静态网页吗_5大seo动态网页优化技巧,让搜索引擎爱上你的网站!

相信那些SEO优化的那些朋友们&#xff0c;肯定还在一股脑的想着如何让自己的网站安静下来&#xff0c;他们都把这一点列入了重中之重的位置。傲马创新营销培训专家不赞成此观点&#xff0c;网站页面是动态还是静态&#xff0c;根据网站实际目的需求来确定就好了。为什么众多SEO…

SEO如何写好文章标题

近一半网民只看标题不点内容&#xff0c;许多网站有个标题和内容摘要&#xff0c;而这个摘要基本概括了整篇新闻的大致内容&#xff0c;所以的互联网信息泛滥的今天&#xff0c;看标题看摘要成了最快阅读新闻资讯的一种有效方式。 如何写好标题&#xff1f;我一直愁这事呢&…

Zabbix通过Nginx状态来监控网站并发量

一、开 启Nginx状态 一、安装Nginx 执行命令&#xff1a;yum install nginx 二、启动Nginx 执行命令&#xff1a;systemctl start nginx 三、配置Nginx开启Status 1、执行命令&#xff1a;vim /etc/nginx/nginx.conf&#xff0c;添加如下配置&#xff1a;2、重启Nginx服务&…

网站Gzip压缩

1. 第一步&#xff1a;打开IIS&#xff0c;启用HTTP压缩服务 右击"网站"->"属性"&#xff0c;选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和" 压缩静态文件"&#xff0c;按需要设置"临时目录…

信誉可靠的压力测试软件,如何压力测试电子商务网站?

背景与面临的挑战&#xff01;您想快速、准确地定位电子商务网站中潜在的性能瓶颈吗&#xff1f;思博伦通信专业化测试服务部一定可以帮到您。数月前&#xff0c;2014巴西世界杯在我们的最大电视媒体一场场直播和互动节目的伴随下曲终人散。为了保证该媒体《xx赢》——这个球迷…