首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用django获取POST Charfield值时的MultiValueDictKeyError

尝试使用django获取POST Charfield值时的MultiValueDictKeyError
EN

Stack Overflow用户
提问于 2021-03-03 21:16:26
回答 1查看 23关注 0票数 0

我有一个django代码,它发布值并在views.py中检索它。但是当我试图检索数据时,它抛出了MultiValueDictkeyError。我检查了是否传递了多个值,但没有传递多个值。有没有人能检查一下。

这是我的html文件。

代码语言:javascript
复制
 <form method="POST" enctype="multipart/form-data" >{% csrf_token %}
                     <p>  <label for="pa">App:</label>
    
                        <select name = "app">
                        <option value = "select" selected > Select   </option>
                        {% for i in result %}
                            <option value = "{{i.apptype}}" > {{i.apptype }}   </option>
                        {% endfor %}
                        </select>
                          &ensp; &ensp; &ensp; &ensp; &ensp; &ensp; &ensp; &ensp;&ensp; &ensp; &ensp; &ensp; &ensp; &ensp; &ensp; &ensp;
    
                        <label for="cu">Customer:</label>
    
                        <select name = "customerdrop">
                        <option value = "select" selected > Select   </option>
                        {% for j in result1 %}
                          <option value = "{{j.customer}}" > {{j.customer }}   </option>
                        {% endfor %}
                        </select>
    <button type="submit"style="background-color:#FFFF66;color:black;width:150px; height:40px;">Save Template</button>
                  <input type="button" style="background-color:#FFFF66;color:black;width:150px; height:25px;" value="Save Template as :"/>
                <input type="text" id="fname" name="fname" value=""/><br>
             </form>

Model.py

代码语言:javascript
复制
class config(models.Model):
    app = models.CharField(max_length=100)
    customerdrop = models.CharField(max_length=100)

views.py

代码语言:javascript
复制
def pg2(request):
    conn = pyodbc.connect('Driver={SQL Server};'
                          'Server=abc\abc;'
                          'Database=UI;'
                          'Trusted_Connection=yes;')

    if request.method == 'POST':
        print('inside Post')
        print(request.POST['app'])
        print(request.POST['customerdrop'])

所以,它会打印“inside Post”,还有app,但不会打印customerdrop。有人能帮我解决这件事吗。

EN

回答 1

Stack Overflow用户

发布于 2021-03-03 21:27:24

你需要处理这种情况

尝尝这个

代码语言:javascript
复制
if request.method == 'POST':

    app = request.POST.get('app')


or 


if request.method == 'POST':
    
    try:

        app = request.POST['app']

    except:

        app = None
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66457868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档