MultiValueDictKeyError в /homepage/detail при попытке запросить базу данных с помощью django
Насколько я понял из других сообщений, MultiValueDictKeyError
связано с тем, что все, что находится в .html-файле, не попадает в базу данных. Однако я не нашел конкретного решения, которое бы работало для меня. Вот views.py:
def detail(request):
try:
if request.method == 'POST':
name = request.POST['name']
state = request.POST['state']
tm = TM.objects.filter(Name__icontains=name, State__icontains = state)
return render(request, 'homepage/detail.html', {'name': name, 'state' : state, 'tm': tm})
else:
return render(request, 'homepage/detail.html', {})
except TM.DoesNotExist:
raise Http404("Info Does Not Exist")
Вот деталь.html:
<html>
<head>
<title>Territorial</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
{% load static %}
<link rel="stylesheet" href="{% static 'html5up-read-only/assets/css/main.css' %}" />
{% load static %}
<link rel="stylesheet" href="{% static 'html5up-read-only/assets/css/detail.css' %}" />
</head>
<body class="is-preload">
<h2>Territory Managers</h2>
{% if name %}
{{ name }} {{ state }}
{% else %}
<h3> No results </h3>
{% endif %}
и вот models.py:
class TM(models.Model): #Change this to territory manager and delete database and recreate
Name = models.CharField(max_length = 200,null=True)
Cell = models.CharField(max_length= 200, null=True)
EmailAddress = models.EmailField(null=True)
Notes = models.CharField(max_length=500, null=True)
Distributor = models.CharField(max_length=200,null=True)
State = models.CharField(max_length=200,null=True)
Brand = models.CharField(max_length=200,null=True)
def __str__(self):
try:
if self.Distributor is not NullBooleanField:
return self.Name + ' - ' + self.Distributor + ' - ' + self.State
except TypeError:
return self.Name
Я в растерянности, что делать дальше, чтобы устранить неполадки. Любая помощь приветствуется!