教你如何用几行Python代码编写出一个繁难Web主机

  • 电脑网络维修
  • 2024-11-15

python的库很丰盛,只有要几行代码就能编写出一个繁难 web 主机,可以让咱们极速测试python脚本。

咱们这里成功的只是一个繁难的 web 主机,用在自己家软路由上还是可以的,假设你须要配置更丰盛以及性能更好的web主机,请用 apache、nginx等专业软件。

在以前的文章中咱们学习过python数据的耐久化,那这里咱们就提供一个web界面来启动数据的耐久化和降级操作。

一、编写web主机

经常使用 http.server规范库只有要几行代码就可以启动一个web主机了,如下代码(要用python3,python2没有http.server库):

import osfrom http.server import HTTPServer, CGIHTTPRequestHandlerwebdir="/var/www"os.chdir(webdir)HTTPServer(("192.168.56.2", 8080), CGIHTTPRequestHandler).serve_forever()

用python3口头以上代码就会启动一个监听192.168.56.2:8080地址的web主机了,在阅读器地址栏输入,假设web根目录下有index.html文件就会显示此文件,假设没有就会自动显示根目录结构,如下图:

web根目录结构

二、编写展现数据脚本

cgi脚本要放在web根目录下的cgi-bin目录下,假设没有这个目录请先创立它,而后在cgi-bin目录下创立一个student.py文件,内容如下:

#!/usr/bin/env python3import pickleimport osstudent_keys = ("name", "gender", "age", "score")if os.path.exists("student.data"):with open("student.data", "rb") as file:student = pickle.load(file)student = student or {}else:student = {}if not student:student = dict.fromkeys(student_keys, "")header = "Content-Type: text/html\n"content = """<html><body><form action="/cgi-bin/update.py" method="POST"><table><tr><td>name: </td><td><input value="{name}"/></td></tr><tr><td>gender:</td><td><input value="{gender}"/></td><tr><tr><td>age: </td><td><input value="{age}"/></td></tr><tr><td>score: </td><td><input value="{score}"/></td></tr><tr><td align="center" colspan="2"><button type="submit">Submit</button></td></tr></table></form></body></html>"""print(header + content.format(**student))

在阅读器地址栏中输入:

第一次性加载时因为数据是空的,所以显示为空,如下图:

第一次性加载显示数据为空

三、编写降级数据脚本

雷同在cgi-bin目录下创立一个update.py文件,内容如下:

#!/usr/bin/env python3import osimport cgiimport picklestudent_keys = ("name", "gender", "age", "score")if os.path.exists("student.data"):with open("student.data", "rb") as file:student = pickle.load(file)student = student or {}else:student = {}if not student:student = dict.fromkeys(student_keys, "")form = cgi.FieldStorage()for key in student_keys:if key in form and form[key].value:student[key] = form[key].valuewith open("student.data", "wb") as file:pickle.dump(student, file)header = "Content-Type: text/html\n"content = """<html><body><h1>update successfully, will skip to display page: <span>3</span></h1><script>var count = 3timer_id = setInterval(function(){count = count -1if(count == 0) {clearInterval(timer_id)location.href="/cgi-bin/student.py"} else {document.getElementById("count_down").innerHTML = "" + count}},1000)</script></body></html>"""print(header + content)

四:验证降级配置

编写完降级脚本后,在第二步中的输入框内输入消息,如下图:

输入各项消息

而后点击提交按钮,就会跳转到降级成功页面,如下图:

降级成功页面

倒计时3秒后会跳转到展现页,这时就会有数据了,而后咱们修负数据,把score 修正为100,如下图:

修正 score 为 100

点击提交按钮等再次跳转到展现页时可以看到 score 曾经降级为100了。

是不是很便捷,你学会了吗?

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/7140.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号