Django: Javascript не загружает дополнительные строки
У меня есть страница, которая позволяет врачу создать рецепт. Эта страница в виде формы, которая позволяет добавить столько строк, сколько нужно, чтобы добавить элементы к рецепту. Я поделюсь с вами видом и html шаблоном.
Я повторил то же самое для создания другого типа рецепта (лабораторный анализ).
На этот раз кнопка не хочет добавлять дополнительные строки, хотя я использовал точно такой же код, и я скажу вам, что именно ломает его, но я не знаю, как это исправить.
Вот код для первого варианта (тот, который работает):
view:
@login_required
def createPrescription(request):
[...] # ommited because unrelated
drugs = Drug.objects.all()
return render[...] # ommited because unrelated
HTML:
Теперь вот код второго варианта (тот, который не работает):
view:
@login_required
def createLabRequest(request):
exams = _ex.objects.all()
return render[...] # ommited because unrelated
HTML:
Теперь проблема заключается в следующем:
Когда я скопировал код и переименовал {% for d in drugs %} <option value="{{ d.id }}">{{ d }}</option>
в {% for e in exams %} <option value="{{ e.id }}">{{ e }}</option>
, кнопка добавления нового ряда перестала работать.
Вот в чем проблема: список содержит некоторые данные, которые мешают загрузке JavaScript, чтобы решить это, нам нужно сделать следующие изменения:
Добавьте следующую функцию к модели MedicalExam:
def examDisplay(self):
display = ''.join(e for e in self.name if e.isalnum or e == ' ' or e == '-' or e == '/')
return display
А в HTML мы размещаем:
{% for e in exams %} <option value="{{ e.id }}">{{ e.examDisplay }}</option>