【问题标题】:How to run an HTML input as a python variable? [duplicate]如何将 HTML 输入作为 python 变量运行? [复制]
【发布时间】:2021-12-02 00:38:36
【问题描述】:

HTML 代码

    <!DOCTYPE html>
<html>
  <head>
    <h1>App</h1>
  </head>
  <body>
    <form action="Test.py" method="GET">
      <label for="search">Enter keyword here</label>
      <input type="text" name="userInput" required></input>
      <input type="submit" value="submit"></input>
      </form>
    
  </body>
</html>

烧瓶代码

    from flask import Flask, url_for, request

app = Flask(__name__)
@app.route("extPage.html", methods=['POST', 'GET'])

userinput = request.form("userInput")
print(userinput)

每当我运行 HTML 并提交内容时,它只会在网页上返回 python 烧瓶代码。我想要做的是使用 userInput 标记创建一个变量以在不相关的 python 程序中使用。我需要以字符串形式返回的输入,这就是我使用“print(userinput)”对其进行测试的原因。我的目标是打印提交。

【问题讨论】:

  • 您的“烧瓶代码”不是正确的烧瓶代码。你有一个没有功能的装饰器。那东西应该是语法错误。这也不是你链接烧瓶动作的方式
  • 我很好奇。当您说 - 运行 HTML 时,您会做什么?您是否导航到 HTML 文件并在浏览器中加载?
  • @sushant 我假设 OP 会这样做。因为 html 打开了,而烧瓶代码实际上是不可运行的,因为中间有装饰器,甚至烧瓶服务器都没有启动。并且代码文件在提交表单时也会以某种方式打开,因此文件不是由服务器提供,而是由文件系统提供
  • @h4z3 已注明。我不明白的是,当浏览器加载 HTML 页面时,OP 如何打印 Python 代码。
  • 我运行 HTML 文件,在提交框中输入一个随机字符串,然后当我按下提交时打印出烧瓶代码。 @h4z3 是的,我觉得有些不对劲,烧瓶应用程序让我感到困惑。究竟什么是装饰器?我还在路线中加入了 /。

标签: python html flask


【解决方案1】:

将 print 语句放在路由装饰器下方的函数中。 类似:

#Don't call html pages. Call routes that return html pages
@app.route("/extPage/", methods=['POST', 'GET']) 
def index():
    userinput = request.form("userInput")
    print(userinput)
    return render_template('return_page.html', ui=userinput)

你可以找到官方文档的教程here。当我陷入困境时,这是对我最大的帮助。

【讨论】:

    猜你喜欢
    • 2020-10-03
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    • 1970-01-01
    • 2019-08-22
    相关资源
    最近更新 更多