Как перенаправить на ту же страницу после публикации в django?

В моем приложении django есть форма, которая перенаправляет на новую страницу, если форма действительна. На этой новой странице я хочу разместить новую форму, в которой я могу добавлять временные интервалы. Как я могу настроить свою функцию в views.py, чтобы я мог перенаправляться на ту же страницу после ввода начального_времени и конечного_времени для таймслота? Вот что у меня есть на данный момент:

В models.py

class TimeSlot(models.Model):
    time_slot_owner = models.ForeignKey(User, on_delete=models.CASCADE)
    food_avail_id = models.ForeignKey(FoodAvail, on_delete=models.CASCADE)
    start_time = models.TimeField()
    end_time = models.TimeField()

    def __str__(self):
        return str(self.start_time) + "-" + str(self.end_time)

В файле forms.py:

class TimeSlotForm(ModelForm):

    class Meta:
        model = TimeSlot
        fields = ["start_time", "end_time"]

В views.py:

def create_timeslots(request):
    if not check_existing_timeslot(request):
        instance = TimeSlot()
        data = request.POST.copy()
        data["time_slot_owner"] = request.user
        data["food_avail_id"] = FoodAvail.objects.get(author=request.user)
        form = TimeSlotForm(data or None, instance=instance)
        if request.POST and form.is_valid():
            form.save()
            return HttpResponseRedirect(request.path_info)
    else:
        instance = get_object_or_404(TimeSlot, time_slot_owner=request.user)
        form = TimeSlotForm(request.POST, request.FILES, instance=instance)
        if request.method == "POST":
            form = TimeSlotForm(request.POST or None, instance=instance)
            if form.is_valid():
                form.save()
                return HttpResponseRedirect(request.path_info)
        else:
            form = TimeSlotForm(instance=instance)
    return render(request, "food_avail/view_food_avail.html", {"timeslot": form})

Мой HTML шаблон:

{% if form.errors %}
    {% for field in form %}
        {% for error in field.errors %}
            <div class="alert alert-danger">
                {{ field.label }} <strong>{{ error|escape }}</strong>
            </div>
        {% endfor %}
    {% endfor %}
    {% for error in form.non_field_errors %}
        <div class="alert alert-danger">
            {{ field.label }} <strong>{{ error|escape }}</strong>
        </div>
    {% endfor %}
{% endif %}
{% if user.is_authenticated %}
<div>
  <div>
    <div>
      <div>
        <h4>
          {{ food.author.username }}<br>
        </h4>
        </div>
        <div>
          Food Available: {{ food.food_available }}<br>  
          Description: {{ food.description }}<br>
          {% endif %}
        </div>
    </div>

<div>
    <h3>Add Time Slot</h3>
    <form method="POST">
        {% csrf_token %}
        {{ timeslot.start_time }}
        {{ timeslot.as_p}}
        <button type="submit">Post Availability</button>
        <br>
    </form>
</div>

Проблема в том, что поля для временного интервала не отображаются на HTML-странице.

^^ Вот как это отображается enter image description here

Вернуться на верх