[英]Python/Flask/Jinja - getting values to Python dictionary for randomly generated keys
我的代碼有小問題。 我嘗試從站點獲取值以存儲在 python 字典中。 問題是值的范圍是隨機生成的,因此我無法將其附加到不同的變量。 我想我應該為此使用 Jinja 模板,但我就是不知道怎么做。 你能以某種方式幫助我或讓我知道,在哪里尋找答案? 先感謝您。
第 1 點:代碼
from flask import Flask, render_template
import random
app = Flask (__name__)
@app.route('/')
def random_numbers_range():
random.randrange(2, 20)
list_numbers = []
for i in range (random.randrange(2, 20)):
list_numbers.append(i)
return render_template('list.html', list_numbers = list_numbers)
if __name__ == "__main__":
app.run(debug = False, port = 1234)
第2點:Jinja模板創建windows用於值輸入和提交按鈕
<!doctype html>
{% for i in list_numbers %}
<li>Number: <b>{{i}}</b></li>
<div><label>Name it: <input type="text" name="powod"></label></div>
{% endfor %}
<a href='/add_submit'><button>Submit</button></a>
</ol>
第 3 點:網站外觀網站外觀屏幕
第 3 點:預期 output預期 output
我想到了。 也許有人會使用它。
1.服務器代碼
from flask import Flask, render_template, request
import random
app = Flask (__name__)
randing = []
@app.route('/')
def random_numbers_range():
global randing
randing = []
random_number = random.randrange(2, 8)
for i in range(2,random_number):
randing.append(i)
list_numbers = []
for i in range (2, random_number):
list_numbers.append(i)
return render_template('list.html', list_numbers = list_numbers)
@app.route('/add_submit')
def add_submit():
global username_from_form
username_from_form = {}
for i in range (0, max(randing)+1):
if request.args.get(str (i)) == None:
continue
else:
username_from_form[i] = request.args.get(str (i))
return "Good job"
if __name__ == "__main__":
app.run(debug = False, port = 1234)
2.模板:
<!doctype html>
<title>Dodawanie nazwy liczby</title>
<form action='/add_submit' method="GET">
{% for i in list_numbers %}
<li>Number: <b>{{i}}</b></li>
<div><label>Name it: <input type="text" name={{i}}></label></div>
{% endfor %}
<a href='/add_submit'><button>Submit</button></a>
</form>
</ol>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.