Я уже некоторое время работаю над проектом 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
view, и она, кажется, не вызывается.
- В последнее время я не трогал ни один из шаблонов.
Надеюсь, кто-то может указать мне правильное направление ... Спасибо!