html 执行python脚本,在Flask中使用html运行python脚本

HTML中的标记专门用于运行客户端JavaScript代码。后端逻辑应该在视图中完成。如果您只是想执行myfile.py中存在的一行代码,则应该将其放入该文件的某个函数中,并使用from myfile import functionname导入它,或者只是在视图中存在该代码(后者是正确的方式在大多数情况下)。例如,如果myfile.py包含print 'Hello World!'那么你的观点应该是这样的:

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():

print 'Hello World!'

return render_template('process.html')

如果你这样做了,你就不必了拆分所有代码到单独的文件。不幸的是,模板会在代码执行后呈现,因此您的process.html模板中显示的“正在处理...”会在处理完毕后显示。至于瓶去,我所知道的最好的方式来显示该过程发生将重定向回页面和闪烁的消息,这样用户:

@app.route('/generate')

def generate():

print 'Hello World!'

flash('Process complete!')

return redirect(url_for(home))

,然后在home.html你有这样的事情(从Flask 0.11 Documentation):

{% extends "template.html" %}

{% block content %}

Home

{% with messages = get_flashed_messages() %}

{% if messages %}

{% for message in messages %}

{{ message }}

{% endfor %}

{% endif %}

{% endwith %}

click me

lorem epsum

{% endblock %}

如果你想要的东西,像“处理...”,以显示在页面上,这时候你会想使用JavaScript。

希望这有助于:)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值