Рендеринг нескольких html-файлов и представлений и отображение их в одном html-файле Django

Ниже показаны мои файлы

index.html

<!-- Modal -->
<div class="modal fade modal{{link.id}}" id="createmodal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h5 class="modal-title" id="exampleModalLabel">Create Contact</h5>
          <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
        </div>
        <form method='POST'>
          {% csrf_token %}
        <div class="modal-body">
          {{form.as_p}}
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
          <button type="Submit" class="btn btn-primary btn-delete" data-sid="{{link.id}}" >Create Contact</button>
          <input type="submit" class="btn btn-primary save-btn">
        </div>
      </form>
      </div>
    </div>
  </div>

new_contact.html


<!-- Modal -->
<div class="modal fade modal{{link.id}}" id="createmodal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h5 class="modal-title" id="exampleModalLabel">Create Contact</h5>
          <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
        </div>
        <form method='POST'>
          {% csrf_token %}
        <div class="modal-body">
          {{form.as_p}}
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
          <button type="Submit" class="btn btn-primary btn-delete" data-sid="{{link.id}}" >Create Contact</button>
          <input type="submit" class="btn btn-primary save-btn">
        </div>
      </form>
      </div>
    </div>
  </div>

views.py

def new_contact(request):
    data = Contact.objects.all()
    form = CreateContactForm()
    if request.method == 'POST':
        form = CreateContactForm(request.POST)
        if form.is_valid():
            form.save()
            messages.success(request, 'Link edited successfully.')
    else:
        messages.error(request, form.errors)

    return render(request,'app/editModal.html', context={'form':form,'data':data})
def index(request):
    data = Contact.objects.all()
    return render(request,'app/editModal.html', context={'form':form})

Я хочу отобразить new_contact.html файл в index.html файл. Я уже использовал тег include, но он не работает для моего требования. тег include включает этот html файл в индексный файл, но не отображает функцию new_contact.
Я хочу отобразить new_contact.html файл с new_contact функцией в index.html файл.

Спасибо

Важное правило: Don't repeat yourself!. А может быть, вы по ошибке вставили тот же html-код?

Нельзя и не следует смешивать различные представления. Также нельзя иметь два forms с одинаковым именем, потому что первое будет перезаписано вторым.

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