Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Jinja2 html模板在Flask服务器上调用python函数?_Python_Html_Flask_Jinja2 - Fatal编程技术网

如何使用Jinja2 html模板在Flask服务器上调用python函数?

如何使用Jinja2 html模板在Flask服务器上调用python函数?,python,html,flask,jinja2,Python,Html,Flask,Jinja2,我最近开始学习使用Flask框架。但是,当在html模板中单击按钮时,我对如何从main.py调用函数“sign_in_check”有点困惑。在Django中,它非常简单,如=48&&event.charCode=48&&event.charCode=48&&event.charCode=48&&event.charCode这是一个HTML问题 按钮没有动作。按钮属于窗体,窗体具有action属性 <form action="{{% url_for('sign_in_check') %}}

我最近开始学习使用Flask框架。但是,当在html模板中单击按钮时,我对如何从main.py调用函数“sign_in_check”有点困惑。在Django中,它非常简单,如
=48&&event.charCode=48&&event.charCode=48&&event.charCode=48&&event.charCode这是一个HTML问题

按钮没有动作。按钮属于窗体,窗体具有action属性

<form action="{{% url_for('sign_in_check') %}}" method="post">

    <input type="hidden" value = "{{ csrf_token }}">
    <div id="driver_info">
          <li>
            <label for="driver_first_name">Driver First Name:</label>
             <input type="text" name="driver_first_name" value="{{driver_first_name }}" id="driver_first_name">
          </li>
          ...
        </div>

        <div id="button">
          <li>
            <input type="submit" value="Continue">
          </li>
        </div>
</form>

  • 驾驶员姓名:
  • ...
  • 注意,你的HTML还有很多其他错误。例如,div后面不能有
    body
    元素;那个div属于身体。和
    li
    元素必须位于
    ul
    元素(或
    ol
    )内部


    此外,您的父级“base.html”模板应该提供基本的页面结构,包括html声明、
    head
    body
    元素;您的子模板只需填充正文内的空间即可。

    在更多的谷歌搜索之后,我找到了它。如果有人好奇的话,我采纳了Daniel的建议,重新构建了html。然而,这并没有完全解决它。sytanx的行动是:

    <form action='/sign_in_check' method="POST">
    
    我必须确保该功能接受后或得到。此外,与django不同,flask的请求语法有点不同。这样,

    driver_first_name = request.form.get('driver_first_name')
    
    希望这能帮助其他有类似问题的人

    <form action='/sign_in_check' method="POST">
    
    @app.route('/sign_in_check', methods = ['GET', 'POST'])
    def sign_in_check():
      if request.method == 'POST':
    
    driver_first_name = request.form.get('driver_first_name')