簡體   English   中英

如何在Django HTML模板中調用函數

[英]How to call a function inside a django html template

我是Django的新手。 這個問題很基本,我閱讀了一些google鏈接和文檔,顯然我無法解決。

基本上:

我需要在html文件中訪問特定博客的博客條目,但顯然blog.blogentry_set()無法按預期工作。 有人可以幫忙嗎。 這是我嘗試的代碼:

models.py文件:

class Blog(models.Model):
   subject = models.CharField(max_length = 20)
   ...

class BlogEntry(models.Model):
   ref = models.ForeignKey(Blog)
   ...

index.html文件:

{% for blog in blogs %}
    <p>{{ blog.subject}}</p>
    <div>
      <p>{{blog.date}}</p>
      {% for entry in blog.blogentry_set.all() %}
          {{entry.text}}
      {% endfor %}
    </div>
{% endfor %}

我嘗試刪除(),這有助於清除錯誤消息,但是輸入文本未按預期打印,因此再次無法正常工作。

我聽說用模板語言,我們不需要調用函數(),但是如何傳遞參數呢?

另外,我對自己問:我是否需要在此處“加載”某些文件? 請幫忙:D

您不能像這樣將參數傳遞給可調用的屬性。 在視圖中拉取值,或編寫一個自定義模板標記來執行此操作。

要解決第一個問題( blog.blogentry_set()無法按預期工作” ),請在.all like之后刪除括號:

{% for entry in blog.blogentry_set.all %}
    {{entry.text}}
{% endfor %}

@Varnan K的答案很好地解決了第二個問題( “不需要()來調用函數,但是我們如何傳遞參數?” )。 您可能必須創建一個自定義模板標簽

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM