我是Django的新手。问题是相当基本的,我读了一些谷歌链接和文件,显然我无法解决它。
基本上:
我需要访问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
之后的括号,如:
{% for entry in blog.blogentry_set.all %}
{{entry.text}}
{% endfor %}
第二个问题(“调用我们不需要的函数(),但是我们如何传递参数?”),由@Varnan K的答案充分解决。您可能需要创建一个custom template tag。