Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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
Python 如何呈现Flask WTF HTML5小部件?_Python_Html_Flask_Flask Wtforms - Fatal编程技术网

Python 如何呈现Flask WTF HTML5小部件?

Python 如何呈现Flask WTF HTML5小部件?,python,html,flask,flask-wtforms,Python,Html,Flask,Flask Wtforms,我正在尝试使用Flask的HTML5小部件构建一个(搜索“范围”以找到它)。 我想我在HTML模板中遗漏了一些东西,因为它的呈现方式如下: 正如你所看到的,这不是我想要的:我期待着这样的事情: 所以我认为这个错误没有那么棘手,但我找不到它。以下是我的不同文件: __author__ = 'laurentmeyer' # That's my main class, don't be afraid, all is local, you cannot hack anything from My

我正在尝试使用Flask的HTML5小部件构建一个(搜索“范围”以找到它)。 我想我在HTML模板中遗漏了一些东西,因为它的呈现方式如下:

正如你所看到的,这不是我想要的:我期待着这样的事情:

所以我认为这个错误没有那么棘手,但我找不到它。以下是我的不同文件:

__author__ = 'laurentmeyer'

# That's my main class, don't be afraid, all is local, you cannot hack anything

from MySQL import MySQL
from flask import Flask, render_template
from Form import Form;

mysql = MySQL();
app = Flask(__name__)
app.config['MYSQL_DATABASE_USER'] = 'Laurent'
app.config['MYSQL_DATABASE_PASSWORD'] = 'laurent'
app.config['MYSQL_DATABASE_DB'] = 'Houses'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)

@app.route("/")
def home():
    cursor = mysql.connect().cursor()
    cursor.execute("SELECT * from Offers;")
    data = cursor.fetchall()
    form = Form(csrf_enabled=False);
    if data is None:
        return "No data"
    else:
            return render_template('DB template.html',form = form, offers = data)

if __name__ == "__main__":
    app.run()
我的HTML模板:

<!DOCTYPE html>
<html>
<head>
    <title>Tableau des maisons</title>
</head>
<body>
<form><p>Test: {{ form.ImportanceOfPrice }} </p></form>
<!--<table>{% for house in offers %}<tr><td>Titre: {{house[0]}}</td><td>Lien: <a href="{{house[1]}}">{{house[1]}}</a></td></tr>{% endfor %}</table>-->
</body>
</html>

以下代码应该很有用:

from flask import Flask, render_template
from wtforms import Form
from wtforms.fields.html5 import DecimalRangeField


app = Flask(__name__)
app.config['DEBUG'] = True


class TestForm(Form):
    price_importance = DecimalRangeField('Price Importance')


@app.route("/")
def home():
    form = TestForm(csrf_enabled=False)
    return render_template('tpl.html', form=form)


if __name__ == "__main__":
    app.run()
Template tpl.html,默认情况下,它必须放在“templates”文件夹中:

<!DOCTYPE html>
<html>
<body>
<form>
    <p>{{ form.price_importance.label }}: {{ form.price_importance }}</p>
</form>
</body>
</html>

{{form.price\u importance.label}}:{{{form.price\u importance}}

您的代码包含一些错误:

  • Python不需要分号来终止语句
  • 您没有导入正确的表单类(您应该导入测试表单类)
  • 在表单类中,通常应该声明字段(通过小部件呈现)

    • 以下代码应该很有用:

      from flask import Flask, render_template
      from wtforms import Form
      from wtforms.fields.html5 import DecimalRangeField
      
      
      app = Flask(__name__)
      app.config['DEBUG'] = True
      
      
      class TestForm(Form):
          price_importance = DecimalRangeField('Price Importance')
      
      
      @app.route("/")
      def home():
          form = TestForm(csrf_enabled=False)
          return render_template('tpl.html', form=form)
      
      
      if __name__ == "__main__":
          app.run()
      
      Template tpl.html,默认情况下,它必须放在“templates”文件夹中:

      <!DOCTYPE html>
      <html>
      <body>
      <form>
          <p>{{ form.price_importance.label }}: {{ form.price_importance }}</p>
      </form>
      </body>
      </html>
      
      
      {{form.price\u importance.label}}:{{{form.price\u importance}}

      您的代码包含一些错误:

      • Python不需要分号来终止语句
      • 您没有导入正确的表单类(您应该导入测试表单类)
      • 在表单类中,通常应该声明字段(通过小部件呈现)

      好的,很少有观察结果是错误的:它已经在模板中,测试已经导入(但在我的测试期间,碰巧我不再导入它)。我认为这个错误是因为我忘记了“字段”。谢谢你的纠正,你救了我一天!关于如何使所选值与滑块对齐的任何建议?好的,很少有观察结果是错误的:它已经在模板中,测试已经导入(但在我的测试期间,碰巧我不再导入它)。我认为这个错误是因为我忘记了“字段”。谢谢你的纠正,你救了我一天!关于如何使所选值与滑块对齐的任何建议?我认为您希望主模块中的
      来自表单导入测试
      而不是
      来自表单导入表单
      。我认为您希望主模块中的
      来自表单导入测试
      而不是
      来自表单导入表单