![](/img/trans.png)
[英]How to call a python function inside html template in django
[英]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.