Как использовать некоторую переменную, вызывающую функцию, для размещения внутри HTML-шаблона в DJANGO

  • Мне нужно использовать эту функцию ниже, вот в util.py

       try:
           f = default_storage.open(f"entries/{title}.md")
           return f.read().decode("utf-8")
       except FileNotFoundError:
           return None ```
    
  • Затем я помещаю это в мой views.py с переменной "get"

   def getFunction(request):
       return render(request, "encyclopedia/index.html", {
           "get": util.get_entry()  
       })   
  • Итак, я хочу использовать эту функцию в моем файле index.html
  • .
   {% block body %}
       <h1>All Pages</h1>
   
       <ul>
           {% for entry in entries %}
               <a href="{% get %}"><li>{{ entry }}</li></a> //{% get %} doesn't work
           {% endfor %}
       </ul>
   {% endblock %}
  • Единственное, для чего это нужно, это вывести список с 5 элементами и внутри li, используя entry, я могу вывести все пять элементов (например: яблоко, банан, помидор, груша, виноград)

  • Мне нужно использовать href, потому что когда я нажму, это приведет к другой папке/файлу .md, в котором будет написано о яблоке, например

    .
  • Я хочу использовать эту функцию, чтобы взять в свой файл .md

  • Если вам нужно больше информации, просто спросите меня. Спасибо. :)

Вы можете добавить @свойство в models.py для приложения, вызывающего entries.your_function

Вы можете попробовать следующее

class YourModel(models.Model):

    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=200)

    # Add a property to your model
    @property
    def yourFunction(self):
        # steps
        return 'Hello from your template!'

Далее просто вызовите его следующим образом в вашем шаблоне

{{ your_model_instance.yourFunction }}

Вы увидите

Hello from your template!
Вернуться на верх