【发布时间】:2020-11-25 12:57:43
【问题描述】:
大家好,第一个问题。 我在虚拟机 (Ubuntu 18) 上运行以下代码时遇到问题。
笔记本上venv运行的代码100%正确运行,但发布到测试服务器后,刷新页面时p_list变量生成的表格是否出现。 在 venv 上,每次刷新都会生成表格的显示。在服务器上它是相当随机的,不到 30% 的时间它会产生一个表格显示。
谢谢!
views.py
@app.route('/add' , methods=('GET', 'POST'))
def add_day_card():
from app.DB.product_list import p_list,products_list
from datetime import date
data = date.today()
data = str(data.strftime("%d/%m/%Y"))
p_list=p_list
products=products_list
if request.method == 'POST':
if request.form:
if request.form.get('add') == 'add':
name=request.form["productname"]
quant=request.form["productquant"]
try:
p_list.append([name,quant])
return redirect(request.url)
except:
pass
elif request.form.get('save')=='save':
date=request.form["date"]
print(date)
print(p_list)
p_list.clear()
return redirect(request.url)
else:
pass
return render_template("add.html", p_list=p_list, products=json.dumps(products), data=data)
添加.html
{% extends "template.html" %}
{% block title %}add-dkz{% endblock %}
{% block main %}
<div class="container">
<form name="day" method="post">
<div class="row">
<div class="col">
<h1>Dzienne przyjęcie</h1>
</div>
<div class="col">
<div class="form-group"> <!-- Date input -->
<label class="control-label" for="date">Data</label>
<input class="form-control" name="date" value="{{ data }}" placeholder="DD/MM/YYYY" type="text"/>
</div>
</div>
</div>
<div class="row">
<div class="col-8">
<h3>Produkty do przeyjęcia</h3>
</div>
<div class="col-4">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
Dodaj produkt
</button>
</div>
</div>
<div class="row">
<table class="table table-sm">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Kod</th>
<th scope="col">Nazwa</th>
<th scope="col">Ilość</th>
</tr>
</thead>
<tbody>
{% for item in p_list %}
<tr>
<td>0</td>
<td>0</td>
<td>{{ item[0] }}</td>
<td>{{ item[1] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="row">
<div class="col">
<button type="submit" name="save" value="save" class="btn btn-primary">
Zapisz
</button>
</div>
</div>
</form>
</div>
<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Dodaj produkt</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form autocomplete="off" action="/add" name="product" method="POST">
<div class="row">
<div class="autocomplete col-7">
<input id="form-autocomplete-4" class="form-control" type="search" name="productname"
placeholder="produkt">
</div>
<div class="col-5">
<input class="form-control" type="text" name="productquant" placeholder="">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Zamknij</button>
<button type="submit" name="add" value="add" class="btn btn-primary">Dodaj produkt</button>
</div>
</form>
</div>
</div>
</div>
<script>
var product = {{ products|safe }};
</script>
{% endblock %}
【问题讨论】: