我是Flask的新手,我試圖在點擊html頁面中的按鈕後從後臺運行python腳本。這裏是我的代碼:在Flask中使用html運行python腳本
app.py
from flask import *
from functools import wraps
import sqlite3
app = Flask(__name__)
@app.route('/')
def home():
return render_template('home.html')
@app.route('/generate')
def generate():
return render_template('process.html')
和我process.html如下:
<html>
<head>
<body>
Processing...
<script>
exec('python /pth to my python file/myfile.py')
</script>
</body>
</head></html>
和home.html的如下:
{% extends "template.html" %}
{% block content %}
<div class = "jumbo">
<h2> Home</h2>
<br/>
<p><a href="{{ url_for('generate') }}">click me</a></p>
<p> lorem epsum </p>
<div>
{% endblock %}
我工作在Linux和如上所示,我不知道是否可以在html中使用exec。但是.html文件中的exec命令沒有執行。我還是新來的瓶子,我會提出任何有關如何使其工作的建議。
這根本沒有任何意義。您不能在模板內隨機執行腳本。這種事情必須在Flask代碼中完成;無論在myfile.py中,都應該放在另一個處理函數中。 –
從來沒有聽說過客戶端JavaScript中的exec命令。如果您想在後臺運行python代碼,請使用XHR(AJAX)調用Flask端點並在服務器上運行所需的python代碼。 – abigperson