python - 从 MySQL 数据库 Python 填充下拉列表

标签 python mysql flask

我有一个带有 MySQL 的 Flask 后端,需要从表中提取值以在下拉列表中显示。

我有一个包含单个值的表,例如香蕉、苹果、橙子等。

在我的 html 代码中,如果用户选择另一个下拉列表(硬编码),则会显示该选项,因此代码如下所示:

$(function() {
        $("#inputType").change(function() {
            var myform = "<div id=\"newForm\">"
            +"<label for=\"inputFruit\">Fruit:</label>"
            +"<select class=\"form-control\" id=\"inputFruit\" required>"
            +"<option></option>"
            +"</select>"
            if ($("#inputType").val() == "fruits") {
                $(myform).insertBefore("#btnSignUp");
            } else {
                $("#newForm").remove();
            }

在我的 flask 应用程序中:

@app.route('/getFruits') # gets my fruits as a list and returns

我应该在哪里添加代码,以便将从/getFruits 获取的值放入 HTML 中的选项中?

最佳答案

您可以将上下文数据(水果列表)传递到模板的 JavaScript 代码中,使用 JSON 将满足您的要求:

您的观点:

import json

@app.route('/getFruits')
def my_view():
    data = ['Banana', 'Apple', 'Orange', 'Pear', 'Watermalon'] # you can get list from your DB instead
    return render_template('yourtemplate.html', data=json.dumps(data))

您的模板:

$(function() {
        $("#inputType").change(function() {
            var myform = "<div id=\"newForm\">"
            +"<label for=\"inputFruit\">Fruit:</label>"
            +"<select class=\"form-control\" id=\"inputFruit\" required>"
            {% for item in data %}
            +"<option>{{ item|safe }}</option>"
            {% endfor %}
            +"</select>"
            if ($("#inputType").val() == "fruits") {
                $(myform).insertBefore("#btnSignUp");
            } else {
                $("#newForm").remove();
            }

关于python - 从 MySQL 数据库 Python 填充下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43445027/

相关文章:

python - 跨包模块设置日志记录的有效方法

python - 无法删除ndarray中的元素

python - 从 python 中的 pandas 数据框中检索信息

python - AWS DataSync Lambda 自动化

mysql - 创建数据类型表

php - float 编号与应有的不一样

reactjs - react 播放器和授权需要问题

Jquery 帖子不适用于flask-reSTLess,其中curl -H 帖子是

python - 使用带前导斜杠的路径的 Flask 路由

php - Doctrine:使用集合更新