如何通过按 html 文件上的按钮将变量设置为烧瓶服务器路由

How to set a variable with pressing a button on an html file to the flask server route

中间有点迷茫,希望大家帮帮我,

我有一个类似于下面的文本文件:

./Video/SetUp
./Video/NewRecordings
./Video/NewRecordings/20160113_151920
./Video/Back Up
./Video/Back Up/FirstLecDraft
./Video/Back Up/FirstTalk

我使用下面的 python 脚本(感谢 Dominate)使用上面提到的 List 文本文件填充 html 文件:

import dominate
from dominate.tags import *

doc = dominate.document(title='Dominate your HTML')

with doc.head:
    link(rel='stylesheet', href='style.css')
    script(type='text/javascript', src='script.js')

with doc:
    with div():
        with open('List') as f:
            for line in f:
                li(input(line.title(), type='submit', value='%s' % line,     onclick='self.location.href=\'http://127.0.0.1:5000/{This must be the same as "value" part}\''))

    with div():
        attr(cls='body')

print doc

第一个问题:如何将value字段的值传递给onclick上的其余路径?

结果一定是这样的:

<input href="" onclick="self.location.href='http://127.0.0.1:5000/cameradump/2016-01-21" type="submit" value="./cameradump/2016-01-21">

以及另一个按钮的另一个值。

如您所见,:5000/之后的其余onclick路径必须与value字段完全相同。

第二个问题:如何将它传递给 flasks 的 main.py 文件中的路由? (例如,当用户按下每个按钮时,该按钮的值必须动态设置为路由)

main.py 目前是这样的:

from flask import Flask, render_template
import subprocess
app = Flask(__name__)

@app.route("/{value must be passed here}")
def index():
    return render_template('index.html')
 ...

但是如果用户按下按钮 /cameradump/2016-01-21:

它应该像下面这样
...
@app.route("/cameradump/2016-01-21")
def index():
return render_template('index.html')
...

或根据按下的按钮的其他值。

第一个:

按照与 value 相同的方式操作 - 使用 %

onclick='self.location.href="http://127.0.0.1:5000/%s"' % date

如果你不能在文件 "List" 中包含 "2016-01-21" 但你有 "/cameradump/2016-01-21" 那么你可以拆分它(使用 "/")并获取最后一个元素 - 日期.

# `line` is `"/cameradump/2016-01-21"`

data = line.split('/')[-1]

第二个:

阅读有关 routing 的文档

您可以在路线中使用变量来获取日期

@app.route("/cameradump/<date>")
def index(date):
    print("Date:", date)
    return render_template('index.html')