Создание базовой формы ввода в Django

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

Вот модель:

class Log(models.Model):
    log_weight = models.FloatField(validators=[MinValueValidator(0)],blank=True, null=True)
    log_repetitions = models.IntegerField(validators=[MinValueValidator(1)],blank=True, null=True)

class LogForm(forms.Form):
    log_weight = forms.IntegerField()
    log_repetitions = forms.IntegerField()
    class Meta:
        model = Log
        fields = ['log_weight', 'log_repetitions']

Вот мнения:

class workout_details(DetailView):
    model = Workout
    template_name = 'my_gym/start_workout.html'
    context_object_name = 'workout'

    def get_context_data(self, **kwargs):
        exercises = Exercise.objects.filter(workout_id=self.object)
        context = super().get_context_data(**kwargs)
        context['exercises'] = exercises
        return context

def addlog(request, id):
    url = request.META.get('HTTP_REFERER')  # get last url
    # return HttpResponse(url)
    if request.method == 'POST':  # check post
        form = LogForm(request.POST)
        if form.is_valid():
            data = Log()  # create relation with model
            data.log_repetitions = form.cleaned_data['log_repetitions']
            data.log_weight = form.cleaned_data['log_weight']
            data.workout_id = id
            data.save()  # save data to table
            return HttpResponseRedirect(url)
    return HttpResponseRedirect(url)

Вот шаблон:

    <form
    class="review-form" action="{% url 'my_gym:addlog' workout.id %}" method="post">
    {% csrf_token %}
    {{ form }}
    </form>

Вот url:

urlpatterns = [
    path('', home.as_view(), name='home'),
    path('workout/<int:pk>/', workout_details.as_view(), name='workout'),
    path('workout/addlog/<int:pk>', addlog, name='addlog'),
]

Мой вопрос: В чем причина того, что форма не отображается на странице подробностей? Как я могу это исправить.

Вам не хватает передачи формы в контекст View. Добавьте следующее в метод DetailView get_context_data:

context['form'] = LogForm()
Вернуться на верх