Как исправить ошибку MultiValueDictKeyError в django

Это моя форма

<h1>ADD LIST</h1>
        <form action="addList/" method="post">
            {% csrf_token %}
            <div class = "container">
                <label>List Name</label><br>
                <input  name="listname" class= "listNamec"><br><br></input>
                <label>List title</label><br>
                <input name="listtitle"  class= "listTitlec"><br><br></input>  
            </div>
        </form>

А это моя функция

def addList(response):

    listname = response.POST['listname']

    list.name = listname
    list.save()

    return render(response, 'main/index.html', {})

ошибка :

    raise MultiValueDictKeyError(key)
django.utils.datastructures.MultiValueDictKeyError: 'listname'

мне нужно добавить их в базу данных Todolist, а не получается :(

)

В основном, эта ошибка возникает, когда вы пытаетесь получить доступ к ключу, который не существует в MultiValueDict. Вам необходимо сначала убедиться, что ключ существует, прежде чем получить его значение:

# using the `in` keyword
if "listname" in request.POST:
    listname = response.POST["listname"]


# or using the `get` method
listname = request.POST.get("listname", False)
if listname:
    ...

Убедитесь, что возвращается ошибка, если ключ не существует. Также, раз уж вы столкнулись с этим, проверьте, правильно ли вы передаете данные формы в маршрут. Обязательно прочитайте документы django и поймите, как обрабатываются формы.

Вернуться на верх