Как исправить ошибку 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 и поймите, как обрабатываются формы.