Почему я не могу ввести форму в HTML? - PullRequest
0 голосов
/ 01 мая 2020

У меня есть форма, которую я хочу внедрить в DetailView на основе классов.

forms.py

class PastLocationForm(forms.Form):
    locations = forms.ModelChoiceField(queryset=Location.objects.all().order_by('location_name'))

views.py

class PatientDetailView(DetailView):
    model=Patient
    form_class = PastLocationForm

К сожалению, форма PastLocationForm не появляется на странице HTML после внедрения. Я осмотрел страницу и ничего не было.

Интересно, что если я передам PastLocationForm в функциональный вид и отобразлю его для другой страницы, форма появится! У меня также есть другие представления, где я использую «form_class» для других modelForms, и они функционируют правильно.

Я переключу свое представление на функциональное представление, если я не могу найти решение, но я бы предпочел оставить класс на основе представления.

1 Ответ

1 голос
/ 01 мая 2020

Причиной может быть тот факт, что DetailView не обрабатывает атрибут form_class (FormViews делают), вам нужно использовать миксин.

Проверьте этот ответ:

Django объединение DetailView и FormView

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...