webpy服务器(Linux+Web+HTML)

关于利用webpy的框架下,HTML无法加载CSS和背景图片的问题 -----尚未解决,望有大神不吝赐教-----这是我的代码,$def with(content) <html> <head> <title>Gothons From Planet Percal #25</title> <style type="text/css"> body{background-image:url(images\b... 阅读详情

前言:


刚开始在慕课网上面看到了一个webpy的视频,正好自己有个服务器,想搭个网站玩玩,然后webpy比较简单,所以拿这个动手了,以后可能去用别的库去做网页。

网页也是看了一下午的HTML的标签什么的,CSS还没学,随手写了个简单的,带个 POST 请求。

Web程序:


URL解析:


首先在程序开头放上这样一段代码:

urls = ('/','index',
        '/(\d+)', 'read',
        '/(.*)', 'other')
app = web.application(urls, globals())

这样用来匹配访问url,要去执行那个类。

匹配方式,分精确匹配,模糊匹配两种,模糊匹配可以实现带组匹配,即上面加的那一个括号,这样会把括号中匹配的数据以 name 变量传递给类的方法。

实现响应:


每个url匹配后对应一个类,在类里面实现网页中请求的方法就好了,比如 GET,POST 。

class index:

    def __init__(self):
        self.reader = read()

    def GET(self):
        with open('html/index.html', 'rb') as f:
            html = f.read()
        return html

    def POST(self):
        data = web.data()
        data = urllib.unquote_plus(data)
        with open('temp ', 'wb') as f:
            f.write(data)


class read:

    def GET(self, name):
        print name

启动Web程序:


因为是在 Linux 服务器上运行的,直接输入一下代码:

nohup python test.py 45.76.206.109:80 &

记得 ip 后面带上端口号。

HTML网页:


from标签:


这里的 action 大概是指用 method 里面的方法,访问了* [主域名] + [action]*。
例如下面的,相当于 POST 了 acmfish.top/,然后根据 URL 匹配,调用了 index 类的 POST 方法。

<form method="post" action="/">
    <div align="center">
        <label>PID:</label>
        <input type="text" name="PID">
        <input type="submit" value="Submit">
    </div>
</form>

全部代码:


Web程序:


import web

urls = ('/','index',
        '/(\d+)', 'read',
        '/(.*)', 'other')
app = web.application(urls, globals())

class index:

    def __init__(self):
        self.reader = read()

    def GET(self):
        with open('html/index.html', 'rb') as f:
            html = f.read()
        return html

    def POST(self):
        data = web.data()
        return self.reader.GET(data[4:])

class read:

    def __init__(self):
        self.head = '''<html>
<head>
        <meta charset="utf-8"/>
        <title>Code</title>
</head>
<body>
<pre>'''
        self.tail = '''</pre>
</body>
</html>'''

    def GET(self, name):
        path = 'code/'+name
        try:
            with open(path, 'rb') as f:
                text = f.read()
                return text
        except IOError:
            return 'File not find'

class other:
    def GET(self, name):
        return 'Not find'

if __name__ == "__main__":
    app.run()

HTML:


<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>Get Code</title>
    <style>
        a{
        color:#40668c;
        }
        label{
        color:#000000;
        }
        input{
        color:#000000;
        }
    </style>
</head>
<body>
<h1 align="center">Get Code</h1> <hr color="#000000">
<br><br><br>
<h2 align="center">请直接访问<a href="/1000">45.76.206.109/1000</a>以获取PID为1000题目代码。</h2>
<h2 align="center">或</h2>
<h2 align="center">快捷搜索</h2>
<form method="post" action="/">
    <div align="center">
        <label>PID:</label>
        <input type="text" name="PID">
        <input type="submit" value="Submit">
    </div>
</form>


</body></html>
滚雪球学 Python 第三轮,Python Web 之 Django 的世界 滚雪球学 Python 第三轮 开启吧,Django 。1. Django 是什么1.1 Django MVT 模式1.2 其它 Python Web 框架2. Web 开发前置知识 阅读详情

相关推荐

CorelDRAW 2019安装指南:从下载到激活的完整步骤

本文提供了一份详细的CorelDRAW 2019安装指南,涵盖从下载安装包、检查系统环境到完成激活的完整步骤。文章重点解析了安装过程中的关键选项设置,并分享了首次启动后的优化配置与常见问题解决方案,旨在帮助用户高效、顺利地完成这款经典矢量设计软件的安装与配置。

weixin_29213827的博客 833

web.py输出中文字符串乱码问题的解决

web.py输出中文字符串乱码问题的解决

xuan2717的博客 383

RK3568平台 麦克风PDM接口录音_rk pdm配置

在RK平台,Android的Audio HAL层中一般会都会有导出录音播放数据的功能。如播放的,是会直接送到声卡中的,对于播放出现问题的情况,可以从分析导出的音频数据是否正常,可以基本知道,是在应用、解码出现的问题,还是送到声卡过程中出现问题。当点开app进行录音的时候会调用到static int start_input_stream(struct stream_in *in)。音频在PDM接口输入,不经过编解码芯片直接到RK主芯片,RK主芯片自带PCM编解码功能。以下软件能播放保存下来的pdm文件。

2401_83817122的博客 2343

linux下配置web.py

由于最近需要使用python框架开发一个网站,故在linux上面配置了web.py。下面来看一下配置web.py的过程(主要是按照官网的步骤): 如果你的linux已经安装了简易安装工具easy_install,那么可以用下面的指令安装: sudo easy_install web.py 但是我没装,所以我还是使用了最原始的方法从git上面下载压缩包来安装: git clone git:/...

v5browser 361

Unity中URP实现水体效果(泡沫)

在上篇文章中,我们实现了水体的深度。在这篇文章中,我们来使用上篇文章采样后的深度图来实现水中的泡沫效果。

楠溪泽岸的博客 3489

Dify 从入门到精通:第一篇 - 基础介绍与快速上手

Dify是一个开源的低代码平台,旨在简化大型语言模型(LLM)应用的开发流程。本文作为"Dify从入门到精通"系列的首篇,全面介绍了Dify的核心概念、安装步骤和基本使用方法。文章首先解析了Dify的多模型支持、低代码开发等特点,然后详细讲解了基于Docker的安装配置过程,包括系统要求、环境变量设置等。通过创建一个邮件助手应用的实际示例,展示了Dify的可视化工作流设计功能。最后简要介绍了高级特性和最佳实践,为后续深入学习奠定基础。本文为开发者提供了从零开始使用Dify构建AI应用的完

IT深耕十余载,大道之简 1147

在html中写python代码的语法和特点-----基于webpy的http服务器

在html文件中写python语法的内容,的注意事项: 1:python程序中的变量通过下面方法传入到html: 1:通过全局变量 :全局变量是不需要用$def with语法实现传递的,只要定义了 在html中就可以用,例子如下: =================================================================== #模板公共变量,下

829

Altium Designer(AD24/25)如何在PCB设计阶段做阻抗匹配

目前阻抗匹配多直接有制版厂进行,PCB设计师在设计阶段可不关注阻抗设计,在加工阶段只需标注需要控制的阻抗线,制板厂即可按照要求对阻抗线进行调整和控制。但是对于设计师来讲掌握阻抗线的设计方法也是非常必要的。本文介绍Altium Designer(AD24/25)如何在PCB设计阶段做阻抗匹配。

fydar的博客 893

WEB服务器(搭建)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34082854的博客 404

基于深度学习的图像修复系统,GAN图像修复,图像修复算法研究,并实现系统登录和注册,全网独发

近年来,深度学习已成为计算机视觉领域的研究热点,基于深度学习的图像修复技术弥补了传统修复方法长期存在的不足,显著提高了生成结果的质量。深度学习是指模仿人脑机制设计的具有深层结构的神经网络。深度学习作为一种表征学习,通过模仿人脑神经元之间的信息传递方式来学习输入数据的特征,并找到输入和输出数据之间的映射关系。通过在图像修复中应用深度学习技术,可以准确学习图像的语义信息,然后根据信息预测缺失的内容,大大克服了传统修复算法的不足,使结果更具逻辑性。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 8262

微信小程序 - 最新详细实现模板消息订阅通知功能,给用户微信发送“服务通知“模板消息并点击进入跳转到小程序页面路由,订阅消息通知详细后台申请流程及示例代码,解决授权申请弹框被拒绝后无法调起、常见报错!

微信小程序,vue2,vue3,模板消息,订阅通知,服务通知,小程序模板通知,订阅微信模板消息功能,唤起模板消息订阅弹框并发送服务通知,消息订阅与模板消息发送,一次性订阅,长期永久订阅,申请模板id,详细示例代码教程,配置流程,消息模板,模板ID,用户收不到消息,订阅了通知但微信不来服务通知,报错,小程序平台模板消息订阅功能,唤起订阅模板消息弹框,订阅模板消息发送服务通知功能,如何做模板消息订阅,一直收不到通知,用户通过弹窗订阅,订阅消息,无法打开申请授权弹框,用户拒绝/关闭后,如何引导用户再开启,拒绝后怎

🏆 前端领域优质创作者 5329

php需要学习那些东西

PHP需要学哪些东西 以前本站已经整理过一个php学习线路的文章(网址 http://www.phpxuexi.com/PHPrumen/201307/1217.html),在里面列出来了具体学习的步骤,本篇为之前文章的补充。 如果你已经是一名优秀的Web开发人员,那请路过即可。如果你还是一个准备入行或刚入行的菜鸟,那本文倒值得一读。要成为一名优秀的Web开发人员,没有

天山飞雪 1655

自然语言处理NLP星空智能对话机器人系列:Gavin大咖 Transformer 101问答集 第一问

自然语言处理NLP星空智能对话机器人系列:Transformer 101问答 [让天下没有难学的Transformer] 你问我答系列之一 Gavin大咖第一问: Transformer中的可训练Queries、Keys和Values矩阵从哪儿来? 以上是智华解答,供同学们参考。 星空智能对话机器人系列博客 NLP星空智能对话机器人系列:第二次星空智能对话机器人Zoom线上演示安排 NLP星空智能对话机器人系列:StarSpace: Embed All The Things NLP星空智能对

大模型与Agent智能体 991

前端开发

前端开发 前端开发是创建Web页面或app等前端界面呈现给用户的过程。前端开发通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互 。它从网页制作演变而来,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。随着互联网技术的发展和HT...

weixin_43822367的博客 1255

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

优秀的Web前端开发人员是这样炼成的

如果你已经是一名优秀的Web开发人员,那请路过即可。如果你还是一个准备入行或刚入行的菜鸟,那本文倒值得一读。要成为一名优秀的Web开发人 员,没有捷径可走,本文就是为那些还在苦苦寻找学习目标的人编写的。 第一步:学好HTML HTML(超文本标记语 言

S20062052的专栏 1369

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

如何学好web前端

一、学好HTML HTML(超文本标记语言)是网页的核心,因此你首先应该学好它,不要害怕,HTML很容易学习的,但也很容易误用,学懂容易要学精还得费点功夫,但学好HTML是成为Web开发人员的基本条件。(51CTO编者注:随着HTML 5规范出炉日期将近,了解HTML 5也将成为Web开发人员的必修课) 2 二、学好服务器端脚本语言 服务器端脚本编程也是Web开发人员的基本功之

qq_34536381的博客 399

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

十步让你成为一名优秀的 Web开发人员

如果你已经是一名优秀的Web开发人员,那请路过即 可。如果你还是一个准备入行或刚入行的菜鸟,那本文倒值得一读。要成为一名优秀的Web开发人员,没 有捷径可走,本文就是为那些还在苦苦寻找学习目标的人编写的。 第一步:学好HTML HTML(超文本标记语言)是网页的核心,因此你首先 应该学好它,不要害怕,HTML很容易学习的,但也很容易误用,学懂容易要学精还得费点功夫,但学好HTML是成为

coffeescript的专栏 2681

【转】十步让你成为一名优秀的Web开发人员

第一步:学好HTML HTML(超文本标记语言)是网页的核心,因此你首先应该学好它,不要害怕,HTML很容易学习的,但也很容易误用,学懂容易要学精还得费点功夫,但学好HTML是成为Web开发人员的基本条件。 第二步:学好服务器脚本语言 服务器端脚本编程也是Web开发人员的基本功之一,你只需挑选一个服务器端脚本语言,然后学好它,目前流行的服务器脚本语言有:PHP、Python、Ruby。 第...

weixin_30815469的博客 281

Web开发指南(php,网站)

如果你已经是一名优秀的Web开发人员,那请路过即可。如果你还是一个准备入行或刚入行的菜鸟,那本文倒值得一读。要成为一名优秀的Web开发人员,没有捷径可走,本文就是为那些还在苦苦寻找学习目标的人编写的。  第一步:学好HTML  HTML(超文本标记语言)是网页的核心,因此你首先应该学好它,不要害怕,HTML很容易学习的,但也很容易误用,学懂容易要学精还得费点功夫,但学好HTML是成为Web开发人...

IT人生 196

十步让你成为一名优秀的Web开发人员

时间:2009-11-15 18:11:47 来源:网络文章 如果你已经是一名优秀的Web开发人员,那请路过即可。如果你还是一个准备入行或刚入行的菜鸟,那本文倒值得一读。要成为一名优秀的Web开发人员,没有捷径可走,本文就是为那些还在苦苦寻找学习目标的人编写的。   第一步:学好HTML   HTML(超文本标记语言)是网页的核心,因此你首先应该学好它,不要害怕,HTML很容易学习的,但也很

jinyeweiyang的专栏 395

通过web.py搭建基础HTTP蜜罐

# -*- coding:utf-8 -*- '基于webpy的http蜜罐。根据需求开放不同的监听端口。' __author__ = 'GoGoCaptain' import web import sys import platform import os #根据命令行输入获取监听的端口 port = sys.argv[1] #创建log存放目录 if platform.system(

终日而思,不如须臾之所学。 1655

成为一名优秀的 Web开发人员10个步骤

如果你已经是一名优秀的Web开发人员,那请路过即 可。如果你还是一个准备入行或刚入行的菜鸟,那本文倒值得一读。要成为一名优秀的Web开发人员,没 有捷径可走,本文就是为那些还在苦苦寻找学习目标的人编写的。 第一步:学好HTML HTML(超文本标记语言)是网页的核心,因此你首先 应该学好它,不要害怕,HTML很容易学习的,但也很容易误用,学懂容易要学精还得费点功夫,但学好HTML是成为

养有道 512

web

要成为一名优秀的Web开发人员,没有捷径可走,本文就是为那些还在苦苦寻找学习目标的人编写的。 第一步:学好HTML HTML(超文本标记语言)是网页的核心,因此你首先应该学好它,不要害怕,HTML很容易学习的,但也很容易误用,学懂容易要学精还得费点功夫,但学好HTML是成为Web开发人员的基本条件。(51CTO编者注:随着HTML 5规范出炉日期将近,了解HTML 5也将...

weixin_33881140的博客 75
上一篇: SDUT 2143 - 图结构练习——最短路径(dijkstra+模板)
下一篇: UVA 10603 - Fill(dijkstra + 状态图)
ACM_Fish
博客等级 码龄10年 69粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值