Python 没有解析模板的值

Python 没有解析模板的值,python,flask,Python,Flask,因此,我创建了一个flask模板,从中可以上载多个文件。每个文件类型都有自己的提交按钮,根据单击的按钮,我希望运行不同的Python代码 我的烧瓶模板的前半部分如下所示: <h3> Upload Portfolio Data</h3> <form action="{{ url_for('admin') }}" method="post" enctype=multipart/form-data> <fieldset> <label cl

因此,我创建了一个flask模板,从中可以上载多个文件。每个文件类型都有自己的提交按钮,根据单击的按钮,我希望运行不同的Python代码

我的烧瓶模板的前半部分如下所示:

<h3> Upload Portfolio Data</h3>
<form action="{{ url_for('admin') }}" method="post" enctype=multipart/form-data>
<fieldset>
    <label class="control-label">Select Portfolio Upload File</label>
    <input id="input-1" type="file" class="file" name="portfolios">
    <div class="form-group">
        <button class="btn btn-default" type="submit" value = "portfolios">Upload</button>
    </div>
    <h3>Upload Security Lists</h3>
    <label class="control-label">Select Security Upload File</label>
    <input id="input-1" type="file" class="file" name="securities">
    <div class="form-group">
        <button class="btn btn-default" type="submit" value = "securities">Upload</button>
    </div>
     <table class="table" style="width:100%">
    <tr> 
         <th>Priority </th>
         <th>Target </th>
     </tr>
    <tr>
    <h2>Transaction Priority</h2>
        <td>1st</td>
        <td>
            <select class="form-control" name="first" style="float:left; width:150px">
               <option value="asset_allocation">Asset Allocation</option>
               <option value="sector">Sector</option>
               <option value="region">Region</option>
               <option value="security_opinion">Security Neutral</option>
               <option value="security_nr">Security NR</option>
          </select>
        </td>
    </tr>
    <tr>
        <td>2nd</td>
        <td>
            <select class="form-control" name="second" style="float:left; width:150px">
               <option value="asset_allocation">Asset Allocation</option>
               <option value="sector" selected ="selected">Sector</option>
               <option value="region">Region</option>
               <option value="security_opinion">Security Neutral</option>
               <option value="security_nr">Security NR</option>
          </select>
        </td>
    </tr>
if request.method == "POST":

    if 'portfolios' in request.form.values():
        # do something

    if 'securities' in request.form.values():
        # do something
但不知何故,按钮的值没有传递给request.form.values()函数。如果我打印request.form,则它具有表单中其他位置的值,但没有按钮的值:

ImmutableMultiDict([('second', 'sector'), ('first', 'asset_allocation'), ('fifth', 'security_nr'), ('third', 'region'), ('fourth', 'security_opinion')])

你知道是什么引起的吗

request.form
是一个类似字典的对象。dict的
values()
方法会为您提供值。但“投资组合”和“证券”是关键,而不是价值。只需使用:

if 'portfolios' in request.form:

等等,因为中的
查看键。

请求。表单
是一个类似字典的对象。dict的
values()
方法会为您提供值。但“投资组合”和“证券”是关键,而不是价值。只需使用:

if 'portfolios' in request.form:

等等,因为
中的
看着钥匙。

我猜出来了!有趣的是,我已经看了好几天了,然后决定把问题贴在这里,然后我自己就看到了。。。无论如何,似乎我没有通过按钮传递名称,这导致值也没有被传递

我想出来了!有趣的是,我已经看了好几天了,然后决定把问题贴在这里,然后我自己就看到了。。。无论如何,似乎我没有通过按钮传递名称,这导致值也没有被传递

通过使用dict方法
values()
,您的意思是输入的值一定包含“投资组合”或“证券”吗?我猜这些单词应该在
keys()
中。你能打印request.form来检查里面有什么吗?@Leonard2:我把这个值附加到按钮上(见flask模板),所以我假设它会出现?如果我改为request.form.keys(),问题仍然存在:(@lapinkoira:I使用dict方法
values()
,在post中添加了打印信息,您的意思是输入的值一定包含“投资组合”或“证券”?我猜这些词应该在
keys()中)
。你可以打印request.form来检查里面有什么吗?@Leonard2:我将值附加到按钮上(请参见烧瓶模板),因此我假设它会显示出来?如果我更改为request.form.keys(),问题仍然存在:(@lapinkoira:我在postHmmm中添加了打印信息,但它们似乎根本没有被传递。问题似乎出现在Flask模板中,而不是Python代码中?嗯,但它们似乎根本没有被传递。问题似乎出现在Flask模板中,而不是Python代码中?