Я пытаюсь написать классное представление для Django, которое будет использовать один и тот же шаблон каждый раз, независимо от модели. Предполагается, что я смогу добавить запись urls.py для каждой модели, и мне не придется беспокоиться о представлении или шаблоне.
Это будет использоваться для отображения формы, и поскольку имена полей формы зависят от типа модели, модель должна быть проверена, а имена полей извлечены на уровне представления, чтобы их можно было передать в общий шаблон. Затем шаблон генерирует форму на основе имен полей и значений объекта.
Я действительно боролся с этим. В данный момент я работаю над переопределением get_context_data следующим образом
def get_context_data(self, **kwargs):
context = kwargs
context_object_name = self.get_context_object_name(self.object)
if context_object_name:
context[context_object_name] = self.object
#add some custom stuff on too
tempdict = [(field, field.value_to_string(self)) for field in self.object._meta.fields]
#context.update({'datafields' : tempdict})
context.update({ 'blarg': 'tester!!'})
return context
Бит self.object._meta.fields
- это то, где у меня проблемы. Я просто не могу понять, как получить доступ к текущей модели. Я делаю это в представлении, что мне еще повезет в миксине?
Спасибо за ваше время.
O