将python列表值添加到输入Flask

问题描述 投票:0回答:2

我该怎么做才能将我从python列表中选择的值添加到没有任何js库的输入中?我需要用逗号分别添加它们。问题是我可以选择一个值,而第二次不能选择它,所以我有循环执行它,但是它不起作用。

app.py:

import csv
from flask import Flask, jsonify, make_response, render_template, request,

with open('templates/Testing.csv') as f:
        reader = csv.reader(f)
        values = next(reader)
        values = values[:len(values)-1]

@app.route('/', methods=['GET'])
def page_show():
    return render_template('includes/default.html', values=values)

if __name__ == '__main__':
    app.run()

default.html:

    <input type="text" id="values" list="val" multiple="multiple" class="searchTerm" name="value" placeholder="Type your values">
    <select list="values" name="values">
    {% for val in values %}
      <option value="{{val}}" SELECTED>{{val}}</option>
    {% endfor %}
  </select>
    <button type="submit" class="searchButton" name=form>
      <i class="fa fa-search"></i>
    </button>

如何解决?谢谢。

python html forms flask
2个回答
0
投票

发现错误/(ㄒoㄒ)/ ~~

NameError: name 'values' is not defined

类似于app.run() 从烧瓶导入烧瓶,render_template

app = Flask(__name__)


@app.route('/', methods=['GET'])
def page_show():
    values = [1, 2, 3, 4, 5]
    print(values)
    return render_template('default.html', values=values)

app.run()



<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <input
      type="text"
      id="values"
      list="val"
      multiple="multiple"
      class="searchTerm"
      name="value"
      placeholder="Type your values"
    />
    <select list="values" name="values">
      {% for val in values %}
      <option value="{{val}}" selected>{{val}}</option>
      {% endfor %}
    </select>
    <button type="submit" class="searchButton" name="form">
      <i class="fa fa-search"></i>
    </button>
  </body>
</html>

有效!


0
投票

( ̄▽ ̄)“

import csv
from flask import Flask,render_template

app = Flask(__name__)
with open(r'demo\templates\Testing.csv') as f:
        reader = csv.reader(f)
        values = next(reader)
        values = values[:len(values)-1]

@app.route('/', methods=['GET'])
def page_show():
    values = [1, 2, 3, 4, 5]
    print(values)
    return render_template('default.html', values=values)

app.run()
© www.soinside.com 2019 - 2024. All rights reserved.