В шаблоне django я пытаюсь вызвать функцию разделения на одной из переменных шаблона и затем получить последний элемент, таким образом, я сделал что-то вроде этого:
{{ newsletter.NewsletterPath.split('/').-1 }}
К сожалению, этому не нравится разделение. Некоторые могли бы предложить, чтобы я сделал разделение в представлении, но я не уверен, как сделать это, потому что я должен сделать это для всех записей. Было бы намного легче, если я мог бы сделать это в шаблоне. Существует ли способ сделать это?
Что вы подразумеваете под «это не нравится разделение»? Как это проявляется его неприязнью?
Если я правильно помню, вы не можете передавать какие-либо произвольные аргументы методам, которые называются шаблоном Django и идентификаторы, которые могут быть использованы в шаблонах, могут состоять только из AZ, AZ, 0-9, подчеркивания и DOTS (где точки означают поиск: словарь-> Атрибут-> Метод-> Список-индекс).
Существует как минимум четыре способа достижения того, что вы хотите:
Self
Заполните экземпляры модели в виду
для рассылки в рассылки в рассылку:
SetaTtr (рассылка, 'basepath',
Newsletter.newsletterPath.split ('/') [- 1])
(или что-то вдоль этих строк)
Из книги Django :
Обратите внимание, что вы не включаете скобки в вызовах метода. Кроме того, невозможно пройти аргументы методам; Вы можете назвать только методы, которые не требуют аргументов.
Итак, если вы хотите вызвать метод без аргументов из шаблона, все в порядке. В противном случае вы должны сделать это с видом.
Шаблоны намеренно не могут делать такие вещи. Цель состоит в том, чтобы предотвратить вам возможность вносить вашу деловую логику в шаблоны, которые предназначены для решения только с макетом.
Таким образом, возможный способ сделать это - определить функцию рассылки NewsletTaTherPathlastelement (Self) в вашей модели информационной рассылки, и вызовите это из шаблона.
Да, как другие сказали, вы не должны делать это в шаблонах.
Но если вы хотите, то вам нужно определить фильтр и загрузить его в шаблон и использовать его.