Я пытаюсь создать форму с зависимыми раскрывающимися списками. Пока я смог добавить необходимые триггеры, но я только заметил, что ответное сообщение не отображает теги шаблона. Даже другие HTML-файлы, которые я пытаюсь добавить теги шаблона. чтобы меня просто игнорировали, я понятия не имею, что даже вызывает такую ошибку
После просмотра нескольких других постов, в которых говорилось, что если бы я использовал {% load XYZ%}. То, что я должен использовать этот тег загрузки на всех моих HTML-страницах, но это не решило мою проблему
мои views.py:
from django.shortcuts import render,redirect
from django.views.generic.base import TemplateView
from status.forms import StatusForm
from status.models import FlightStatus
from django.views.generic import ListView, CreateView, UpdateView
from postlog.models import Flight
from django.urls import reverse_lazy
# Create your views here.
class StatusPageView(CreateView):
template_name = "status/home.html"
model = FlightStatus
form_class = StatusForm
success_url = reverse_lazy('status')
def load_park_bay(request):
flightid = request.GET.get('flight1')
parks = Flight.objects.filter(fl_no='flightid').order_by('park_bay')
context = {'parks': parks}
return render(request, 'status/park_bay_dropdown_list.html', context)
мои urls.py:
from django.urls import path,include
from . import views
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = [
path('', views.StatusPageView.as_view(), name='status'),
path('ajax/load-park/', views.load_park_bay, name='ajax_load_park'),
]
моя домашняя страница, где присутствует моя форма home.html:
{% extends 'base_template1.html' %}
{% load static from staticfiles %}
{% load crispy_forms_tags %}
<!DOCTYPE html>
{% block title %} Status {% endblock %}
{% block content %}
<div class="modal fade" id="Add_Modal" tabindex="-1" role="dialog" aria-labelledby="Add_ModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="AddModalLabel">Flight Details</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form method="post" id="statusForm" data-parks-url="{% url 'ajax_load_park' %}" novalidate>
{% csrf_token %}
{{ form|crispy }}
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Add Details</button>
</div>
</form>
</div>
</div>
</div>
</div>
<script
src="https://code.jquery.com/jquery-3.4.1.js"
integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
crossorigin="anonymous"></script>
<script>
$("#id_fl_no").change(function () {
var url = $("#statusForm").attr("data-parks-url");
var flightId = $(this).val();
$.ajax({
url: url,
data: {
'flight1': flightId
},
success: function (data) {
$("#id_park_bay").html(data);
}
});
});
</script>
{%endblock%}
ответ html служил ответом на запрос ajax park_bay_dropdown.html:
{% load static from staticfiles %}
{% load crispy_forms_tags %}
<option value="">---------</option>
{% for park in parks %}
<option value="{{ park.fl_no }}">{{ park.park_bay }}</option>
{% endfor %}
Ответ получен: ссылка , даже когда я пытался отправить экземпляр формы в качестве контекста для отображения полной формы, ни один из тегов шаблона даже не отображался