位于/ todo / todo / add / todo /的MultiValueDictKeyError

时间:2019-05-07 08:56:42

标签: django python-3.x

我正在制作Todo应用

views.py

from django.shortcuts import render
from django.http import HttpResponseRedirect
from .models import To


# Create your views here.
def first(request):
    all_items = To.objects.all()
    return render(request, 'todo/fi.html', {'items': all_items})


def add_todo(request):
    c = request.POST['content']
    new_item = To(content=c)
    new_item.save()
    return HttpResponseRedirect('todo/')

模板:

<body>
<h1>Welcome to our todo page</h1>
<p> Your Todo list:</p>

<ul>
    {% for i in items %}
        <li>
        {{ i.content }}
        </li>
    {% endfor %}
</ul>
<form action="todo/add/" method="post"> {% csrf_token %}
    <input type="text" name="content"/>
    <input type="submit" value="add"/>
</form>

</body>
</html>

我遇到以下错误:

File "C:\python\lib\site-packages\django-1.9-py3.7.egg\django\utils\datastructures.py", line 85, in __getitem__
        raise MultiValueDictKeyError(repr(key))
    django.utils.datastructures.MultiValueDictKeyError: "'content'"
    [07/May/2019 01:35:40] "GET /todo/todo/add/todo/ HTTP/1.1" 500 70010

我尝试使用MultiValueDictError中所述的get方法,但没有一个起作用。

0 个答案:

没有答案