如何将网页与python连接到mod_wsgi?

时间:2013-04-20 16:46:10

标签: python mod-wsgi xampp

对于Python而言,我是一个新手,并将其整合到html中。我花了很多时间研究没有运气,所以我要求的只是一点帮助,或者我可以找到所需信息的区域。

我正在使用AMPPS来开发一个网站,因为它预先安装了mod_wsgi。我正在创建一个函数,用户可以在文本区域E.G。

中输入Python脚本
> print 'Hello World'

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

Hello World

问题是发送包含'print hello world'的脚本然后连接mod_wsgi服务器端需要什么命令或python命令?

一旦连接,如何显示共鸣?

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

我很抱歉所有的问题,我只是完全被困扰,我的Python书已经超出我的想象。

亲切的问候安迪

2 个答案:

答案 0 :(得分:1)

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

Here是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配置,那么你同时也会喋喋不休。您可能希望以更易消化的部分学习这些项目。

答案 1 :(得分: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)

你可以download and install fast,使用Python 2.5+和3.x运行Bottle,并启用路由和自定义Web应用程序的响应。