如何在网页中运行python脚本

2024-04-26 04:52:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python很陌生。只知道什么是python。 我已经创建了以下代码(在python IDLE中):

print "Hi Welcome to Python test page\n";
print "Now it will show a calculation";
print "30+2="; print 30+2;

然后我在本地主机中将此页保存为index.py

我用 http://localhost/index.py

但它没有显示已执行的python脚本。相反,上面的代码显示为HTML。问题在哪里?有人告诉我如何在网页上运行python吗?


Tags: to代码pytestindexshowpageit
3条回答

为了显示代码,您需要以下几点:

首先,需要有一个服务器来处理HTTP请求。目前,您正在本地硬盘上使用Firefox打开一个文件。需要像Apache这样的服务器或类似的服务器。

其次,假设您现在有一个服务器来提供文件,您还需要一些东西来将代码解释为服务器的Python代码。对于Python用户来说,现在的解决方案是mod_wsgi。但是对于更简单的情况,您可以使用CGI(更多信息here),但是如果您想轻松地生成web页面,您应该使用现有的pythonweb框架,比如Django。

设置这个可能很麻烦,所以要做好准备。

在Python中使用flask库可以实现这一点。 记住将HTML页面存储在运行python脚本的文件夹中,该文件夹名为“templates”。

所以你的文件夹看起来像

  1. 模板(包含HTML文件的文件夹)
  2. 你的python脚本

这是python脚本的一个小示例。这只是检查抄袭。

from flask import Flask
from flask import request
from flask import render_template
import stringComparison

app = Flask(__name__)

@app.route('/')
def my_form():
    return render_template("my-form.html") # this should be the name of your html file

@app.route('/', methods=['POST'])
def my_form_post():
    text1 = request.form['text1']
    text2 = request.form['text2']
    plagiarismPercent = stringComparison.extremelySimplePlagiarismChecker(text1,text2)
    if plagiarismPercent > 50 :
        return "<h1>Plagiarism Detected !</h1>"
    else :
        return "<h1>No Plagiarism Detected !</h1>"

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

这是一个使用的HTML文件的小模板

<!DOCTYPE html>
<html lang="en">
<body>
    <h1>Enter the texts to be compared</h1>
    <form action="." method="POST">
        <input type="text" name="text1">
        <input type="text" name="text2">
        <input type="submit" name="my-form" value="Check !">
    </form>
</body>
</html>

这是一个很小的方法,通过它你可以完成一个比较两个字符串的简单任务,并且可以很容易地改变以适应你的需求

正如其他人所指出的,有许多针对Python的web框架。

但是,鉴于您刚刚开始使用Python,一个简单的CGI脚本可能更合适:

  1. 将脚本重命名为index.cgi。您还需要执行chmod +x index.cgi来授予它执行权限。

  2. 在文件开头添加这两行:

#!/usr/bin/python   
print('Content-type: text/html\r\n\r')

在这之后,Python代码应该像在终端中一样运行,除了输出到浏览器。当你开始工作时,你可以使用the cgi module从浏览器中获取数据。

注意:这假设您的web服务器运行的是Linux。对于Windows,#!/Python26/python可能会起作用。

相关问题 更多 >