Python 从表单生成的烧瓶表

Python 从表单生成的烧瓶表,python,forms,flask,jinja2,Python,Forms,Flask,Jinja2,大家好,第一个问题。 我在虚拟机(Ubuntu18)上运行以下代码时遇到问题 在笔记本电脑上的venv中运行的代码100%正常工作,但在发布到测试服务器后,刷新页面时,从p_list变量生成的表是否出现。 在venv上,每次刷新都会生成表的显示。在服务器上,它是非常随机的,生成表显示的时间不到30% 谢谢 views.py @app.route('/add' , methods=('GET', 'POST')) def add_day_card(): from app.DB.produc

大家好,第一个问题。 我在虚拟机(Ubuntu18)上运行以下代码时遇到问题

在笔记本电脑上的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)
add.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">&times;</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 %}
{%extends“template.html”%}
{%block title%}添加dkz{%endblock%}
{%block main%}
Dziene przyjęcie
资料
普雷泽西亚产品
多达吉产品
#
柯德
纳兹瓦
伊洛舍维奇
{p_列表%中的项目的%s}
0
0
{{item[0]}
{{项目[1]}
{%endfor%}
扎皮兹
多达吉产品
&时代;
赞克尼
多达吉产品
var乘积={{products | safe}};
{%endblock%}

我的处理方式有点不同。我假设问题出在NGINX配置上。但是,当它现在将数据存储在数据库表中而不是变量中时,一切都很顺利