我正在制作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方法,但没有一个起作用。