【问题标题】:Problem getting value from a clicked-button, back to flask从点击按钮获取价值的问题,回到烧瓶
【发布时间】: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


【解决方案1】:

为避免更多混淆,建议您查看 flask_wtf 用于创建表单,它正是您将数据从客户端发送到后端所需要的。快乐编码!

【讨论】:

  • 原来我对按钮声明中的值有一个小小的误解。这就是为什么我无法让它在我尝试的所有其他方式中工作。一旦我意识到我错了,我尝试的第一个解决方案之一就奏效了……不过,感谢您的建议,我在此过程中学到了更多新东西。 :)
猜你喜欢
  • 2017-07-29
  • 2021-01-02
  • 2015-11-08
  • 2019-08-21
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 2013-11-16
相关资源
最近更新 更多