【发布时间】:2021-04-20 03:18:44
【问题描述】:
我有多个按钮,用于移动平台工具。使用flask和python3.8从动态列表创建。我似乎无法从按钮本身获取值(一个文件名,函数调用将使用它来启动 pi 服务器上的特定脚本。)列表本身是根据特定目录中的文件重新创建的,门户网站只是为每个文件创建一个按钮,采用可点击的格式。所需的结果是单击后,html 将文件名作为变量传递回 python,由函数调用执行。我对这样的编程相当陌生,所以这对你们大多数人来说可能是一件简单的事情,但是我一直在尽我所能,但无法让它发挥作用,而在这种特殊情况下,谷歌不是我的朋友;)
x 是源目录中文件列表中的一个值。所有这些都可以正常工作。如果我设置一个静态文件名,我什至可以启动该文件。
文件.html
<h1>Available Menu</h1>
<p>###### #######</p>
<ol>{% for x in lr1 %}
<div class="flex-parent jc-center">
<a href='/run'><input type='button' onclick="/make" name="Selection" value="{{x[2:-4]}}"></a>
<a href='/make'><input type='button' onclick="/make" name="Selection" value="{{x[2:-4]}}"></a>
</div>
{% endfor %}
</ol>
<p> Please make your selection by clicking on it.</p>
我在表单、会话等方面经历了许多不同的尝试...,但这就是我现在所处的位置。如果仅用于测试目的,则第一个 href 用于站点流程。第二个是我将用于实际操作的那个。
文件.py
@app.route('/make', methods=['get', 'post'])
def makefile():
# make/run selected file.
sel_name = '' # needed input variable
### missing piece...
cmdgg = '/##########.sh /media/rbins/{}'.format({sel_name}) # script call
print(cmdgg)
subprocess.Popen(cmdgg, shell=True).wait()
print(f'######') # confirmation message
我现在尝试了这么多变体,但似乎没有一个可以削减它,所以我什至不打算完成这个功能,因为我一定是错误地接近它。我有其他一切工作,我只缺少这一个组件......我什至愿意在根目录中创建一个文本文件,我可以解析它来制作命令,但同样,我也不能让它工作......这是一个我还需要进一步学习的领域。
任何帮助或建议将不胜感激。
【问题讨论】:
-
这些只是 sn-ps,还有很多代码,但这是我需要帮助的唯一领域...
标签: python html ubuntu flask button