1

当谈到 Python 并将其合并到 html 中时,我是一个完全的新手。我花了很多时间进行研究但没有运气,所以我所要求的只是一点帮助或我可以找到所需信息的区域。

我正在使用 AMPPS 开发一个网站,因为它预先安装了 mod_wsgi。我正在创建一个函数,用户可以在其中在文本区域 EG 中输入 Python 脚本

> print 'Hello World'

用户按下执行按钮,然后结果将显示在页面中。我假设这是使用 html 和 Python 脚本发送并传递给服务器端的,因此 mod_wsgi 可以解码 python 并将其传回。

Hello World

问题是需要哪些命令或 python 命令来发送包含“打印你好世界”的脚本,然后连接到 mod_wsgi 服务器端?

连接后如何显示共鸣?

AMPPS 是否需要任何配置以允许 mod_wsgi 正常工作(阅读有关配置 httpd.conf 文件的线程)?

对于所有的问题,我很抱歉,我完全把 atm 难住了,我的 Python 书已经超出了我的想象。

亲切的问候安迪

4

2 回答 2

1

我做过的最简单的 wsgi 工作是使用web.py

是 apache mod_wsgi 设置文档。

您需要一个带有 GET 方法的类,该类使用输入表单呈现 html,该输入表单将接收脚本,然后将其 POST 回 POST 方法(如果您愿意,在同一个类上)。您的 post 方法的响应将是您在 python 脚本上调用 eval 得到的任何结果。注意:这是一个非常危险的应用程序,因为用户现在可以在您的服务器上以服务器进程运行的任何用户身份运行未经验证的 python 脚本。

示例代码:

import web

class Echo:
    def GET(self):
        return """<html><form name="script-input-form" action="/" method="post">
Script: <input type="text" name="script-body">
<input type="submit" value="Submit">
</form><html>"""

    def POST(self):
        data = web.input()
        obj = compile(data['script-body'], '', 'exec')
        result = eval(obj, globals(), locals())
        web.seeother('/')

urls = (
  '/.*', Echo,
)
if __name__ == "__main__": 
    app = web.application(urls, globals())
    app.run()
else:
    app = web.application(urls, globals()).wsgifunc()

我还必须评论一下,如果您只是学习编程,只是学习 python,并且没有做过任何 apache 配置,那么您会同时咬掉很多东西。您可能希望以更易消化的部分学习这些项目。

于 2013-04-20T16:53:54.400 回答
0

我推荐你使用 Bottle.js,这里有一个来自Bottlepy.org的例子:

from bottle import route, run, template

@route('/hello/:name')
def index(name='World'):
    return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)

您可以快速下载和安装,Bottle 使用 Python 2.5+ 和 3.x 运行,并能够为 Web 应用程序路由和自定义您的响应。

于 2013-04-20T16:51:06.380 回答