Форма не появляется, несмотря на то, что я добавил в представления
views.py
class LogReply(LoginRequiredMixin,UpdateView):
model = LogItem
## fields = ['handler','status','comment']
form_class = LogItemForm
template_name = 'log/logitem_detail.html'
def get_success_url(self):
return reverse('log_view',self.object.id)
forms.py
class LogItemForm(forms.ModelForm):
class Meta:
model = LogItem
fields = ['handler','status','comment']
widgets = {
'comment':forms.Textarea(attrs={
'class':'form-control',
'placeholder':'請在此輸入處理情形...'},
),
}
logitem_detail.html
{% extends 'base.html' %}
{% block content %}
<div class="card">
<div class="card-header">
<div class="h3">{{ object.subject }}</div>
</div>
<div class="card-body">
<div class="card-text">
{{ object.description|linebreaks }}
</div>
</div>
<div class="card-footer card-text d-flex justify-content-between text-muted">
<small title="Reporter"><i class="fas fa-user"></i> {{ object.reporter }} <i class="fas fa-phone"></i> {{ logitem.phone }}</small>
<small><i class="far fa-clock"></i> {{ object.ctime }}</small>
</div>
</div>
<hr>
<div class="card mt-3">
{% if form %}
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="card-header d-flex justify-content-between">
<div class="h3">Situation</div>
<div>{{ form.status }}</div>
</div>
<div class="card-body">{{ form.comment }}</div>
<div class="card-footer card-text d-flex justify-content-between text-muted">
<small title="handler"><i class="fas fa-user-md"></i> {{ form.handler }}</small>
<input type="submit" value="Submit" class="btn btn-sm btn-primary">
<small><i class="far fa-clock"></i> {{ object.utime }}</small>
</div>
</form>
{% else %}
<div class="card-header d-flex justify-content-between">
<div class="h3">Situation</div>
<div>
<span class="badge badge-{{ logitem.get_status_class }}">
{{ object.get_status_display }}
</span>
</div>
</div>
<div class="card-body">{{ object.comment|linebreaks }}</div>
<div class="card-footer card-text d-flex justify-content-between text-muted">
<small title="handler"><i class="fas fa-user-md"></i> {{ object.handler }}</small>
<small><i class="far fa-clock"></i> {{ object.utime }}</small>
</div>
{% endif %}
</div>
{% endblock %}
У меня возникла проблема, связанная с тем, что я хочу добавить форму в шаблон logitem_detail.html
в области формы. Хотя я уже установил конкретный шаблон и форму в представление на основе классов LogReply
, форма по-прежнему не появляется в конкретной области. Поскольку я не слишком хорошо знаком с функциями представлений на основе классов в Django, может ли кто-нибудь помочь мне выяснить, в чем проблема?