Я уже давно работаю над проектом django, который использует grappelli для администратора, и внезапно сегодня мой шаблон change_form.html вызывает следующую ошибку:
Caught NoReverseMatch while rendering: Reverse for "grp_related_lookup" with arguments '()' and keyword arguments '{}' not found.
Строкой нарушения кода является строка 38:
37 $.each(related_lookup_fields_fk, function() {
38 $("#id_" + this).grp_related_fk({lookup_url:"{% url grp_related_lookup %}"});
39 });
которому предшествует этот бит кода:
var related_lookup_fields_fk = {% get_related_lookup_fields_fk adminform.model_admin %};
Очевидно, это бит {% url grp_related_lookup %}
, вызывающий проблему.
Я не понимаю, как шаблон разрешает grp_related_lookup
до grappelli.views.related.related_lookup
. Я попытался заменить grp_related_lookup
на grappelli.views.related.related_lookup
, и это тоже не сработало. Кроме того, в шаблоне строка нарушения выглядит следующим образом:
$("#id_" + this).grp_related_fk({lookup_url:"{% url grp_related_lookup %}"});
но в сообщении об ошибке это выглядит так:
$("#id_" + this).grp_related_fk({lookup_url:"{% url 'grp_related_lookup' %}"});
Я не знаю, может ли одинарная кавычка, окружающая grp_related_lookup
, иметь какое-то отношение к проблеме или нет. Это то, как django передал вызов функции? Передача строки 'grp_related_lookup'
в тег шаблона URL-адреса? Если да, то что могло бы заставить это внезапно сломаться?
Дополнительная информация:
- Значение
related_lookup_fields
- пустой список[]
. Я не определяюrelated_lookup_fields
в моем admin.py. - Я бросил пару отладочных операторов в функцию просмотра
grappelli.views.related.related_lookup
и, похоже, не получил вызов. - Недавно я не касался каких-либо шаблонов.
Надеюсь, кто-то может указать мне в правильном направлении... Спасибо!