Я пытаюсь заполнить существующие данные в базе данных в раскрывающемся списке, где я хочу просто сделать так, чтобы данные отображались в раскрывающемся списке.
при запуске системы отображается следующая ошибка:
Влияет, что NotNotExist в / testmodel3 совпадающего запроса не существует.Метод запроса: URL-адрес запроса POST: http://127.0.0.1:8000/ Версия Django: 2.1.7 Тип исключения: DoesNotExist Значение исключения: соответствующий запрос testmodel3 не существует.
говорит, что ошибка в строке14
tmn3 = testmodel3.objects.get(name = tmn)
- я создаю класс в models.py
- отображаем страницу в url.py
- создаем форму
- создаемtemplate
- создайте функцию в views.py.
models.py
class testmodel3(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return str(self.name)
url.py
from django.contrib import admin
from django.urls import path
from.views import *
urlpatterns = [
path('admin/', admin.site.urls),
path('', home),
]
форм.py
from django import forms
from .models import *
class drodownForm(forms.ModelForm):
class Meta:
model = testmodel
fields = ('name',)
home.html
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="POST">{% csrf_token %}
<table>
<tr><td>mouhafazat name:</td>
<td>
<select name = "dropdwn1">
{% for testmodel in testmodel3name %}
<option value="{{ testmodel3.name }}">{{ testmodel3.name }}</option>
{% endfor %}
</select>
</td>
<td><input type="submit" value="click" /></td>
</tr>
</table>
</form>
</body>
</html>
views.py
from django.shortcuts import render
from django.http import HttpResponse
from testapp.models import *
from testapp.forms import drodownForm
def home(request):
testmodel3name = testmodel3.objects.all()
print(testmodel3name)
tmn = request.POST.get('dropdwn1')
if request.method =='GET':
form = drodownForm()
else:
tmn3 = testmodel3.objects.get(name = tmn)
print("test for dropdown")
return render(request,'./home.html',{'form': form, 'testmodel3name': testmodel3name})
Я ожидаю просмотреть сохраненные данные в раскрывающемся списке