Я реализую API поиска Algolia для Django, и у меня есть определенная переменная Mustache {{ObjectID}}
, которая соответствует идентификаторам для результатов поиска. Я могу использовать только через {% verbatim %} {{ObjectID}} {% endverbatim %}
, не конфликтуя с синтаксисом шаблона Django.
Однако мне также нужна эта переменная для создания URL-адреса для ID, но проблема в том, что я не могу легко передать переменную Mustache в форму, используемую непосредственно с шаблонами Django. В качестве примера просто выполните
{% url "appName:method" {{ObjectID}} %}
конфликты с синтаксисом шаблона Django, но попытаемся выполнить ivnoke verbatim
через
{% url "appName:method" {%verbatim %} {{ObjectID}} {% endverbatim %} %}
не работает, так как вызов тега шаблона в теге шаблона запрещен.
Я также не могу сохранить {{ObjectID}}
как временную переменную со способом или оффшором url
для отдельного метода, например
function generate (objectID){
return "{% url 'appName:method' objectID %}"
}//usage of method<a href = "generate({% verbatim %}{{ObjectID}} {% endverbatim %})">link</a>
, так как Django обработает url
на прицеле и бросит NoReverseMatch
, поскольку еще не определен Algolia. Есть ли способ извлечь objectID
, чтобы его можно было вернуть обратно в конструктор {{ObjectID}}
Django?
ПРИМЕЧАНИЕ. Моя реализация Algolia напрямую не взаимодействует с Базы данных Django, а скорее собственное индексирование базы данных, которую она хранит отдельно. Дополнительная информация о Github url
Я бы предложил вам использовать что-то вроде этого в представлении и передать значение шаблону:
reverse('appName:method', args=[1337]).replace('1337', '{{ObjectID}}')
Если вы должны сделать это только в шаблон, и вы можете быть уверены, что часть
{{ObjectID}}
всегда будет в конце URL-адреса, вы можете сделать это следующим образом:{% url "appName:method" 1337 as my_url %} <a href="{{ my_url|slice:":-5" }}{% verbatim %}{{ObjectID}}{% endverbatim %}/">...</a>
Обратите внимание, что указанный выше код шаблона предполагает конечную косую черту.
1137
?reverse
, в качестве значения вcontext
представления?