#python #django #web-applications #detailview #django-class-based-views
#питон #джанго #веб-приложения #подробный обзор #django-class-based-views
Вопрос:
Совершенно новый для этой супер приятной вещи django. Стараюсь изо всех сил…
попытка http://127.0.0.1:8000/angebot/1 / в моем браузере предполагается показать мне набор запросов с первичным ключом 1 из model Testkunde
нужно ли мне определять набор запросов в detailview?? обычно с model = Testkunde это должно быть сделано??
был бы очень признателен за любую помощь! заранее спасибо!
views.py
class TestkundeDetailView(DetailView):
model = Testkunde
template_name = 'angebot/detail.html'
context_object_name = 'testkunde_list'
urls.py
urlpatterns = [
#path('', angebot_views.testkunde_list, name='testkunde_list'),
path('', angebot_views.TestkundeListView.as_view(), name='angebot-list'),
path('<int:pk>/', angebot_views.DetailView.as_view(), name='angebot-detail'),
]
models.py
class Testkunde(models.Model):
auswahl = (
('Ausw1', 'Ausw2'),
('Ausw2', 'ausw2'),
('Ausw3', 'ausw3'),
)
vname = models.CharField(max_length=250,default='vname')
nname = models.TextField(default='default')
tel = models.CharField(max_length=250,default='0664')
ausw = models.CharField(max_length=10,choices=auswahl,default="Ausw1")
datum = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.vname
def get_absolute_url(self):
return reverse('angebot:testkunde_list',)
Ошибка:
При неправильной настройке в /angebot/1/ DetailView отсутствует набор запросов. Определите DetailView.model, DetailView.queryset или переопределите DetailView.get_queryset() . Метод запроса: ПОЛУЧИТЬ URL-адрес запроса: http://127.0.0.1:8000/angebot/1 / Версия Django: 3.0.8 Тип исключения: неправильно сконфигурированное значение исключения:
в DetailView отсутствует набор запросов. Определите DetailView.model, DetailView.queryset или переопределите DetailView.get_queryset() . Расположение исключения: C:UsersberniPycharmProjectsdjango_projectvenvlibsite-packagesdjangoviewsgenericdetail.py в get_queryset строка 73 исполняемого файла Python: C:UsersberniPycharmProjectsdjango_projectvenvScriptspython.exe Версия Python: 3.7.7 Путь к Python:
[‘C:UsersberniPycharmProjectsdjango_projectdjango_project ‘, ‘C:UsersberniAppDataLocalProgramsPythonPython37python37.zip ‘, ‘C:UsersberniAppDataLocalProgramsPythonPython37DLLs ‘, ‘C:UsersberniAppDataLocalProgramsPythonPython37lib ‘, ‘C:UsersberniAppDataLocalProgramsPythonPython37 ‘, ‘C:UsersberniPycharmProjectsdjango_projectvenv ‘, ‘C:UsersberniPycharmProjectsdjango_projectvenvlibsite-packages ‘] Серверное время: Пт, 27 нояб. 2020 г. 08:19:51 0000
Я искал, но не могу найти ошибку.
Ответ №1:
Из того, что я вижу, проблема в вашем шаблоне URLs. Ваш URL-адрес для angebot-detail указывает на фактический DetailView
, а не на ваш TestkundeDetailView
, который вы определили в своем views.py досье.
Вам следует обновить URL-адрес angebot-detail следующим образом:
urlpatterns = [
...
path('<int:pk>/', angebot_views.TestkundeDetailView.as_view(), name='angebot-detail'),
]
Не забудьте импортировать свои TestkundeDetailView
данные вверху.
Комментарии:
1. Себастьян, большое спасибо. Это решило мою проблему. Для меня это большая проблема… может быть, и для других?? Всего лишь небольшая опечатка / ошибка разрушает все. Я думаю, мне нужно научиться правильно отлаживать эту штуку django…