【发布时间】:2016-04-05 07:13:50
【问题描述】:
我是 Django 和 Python 的新手(甚至是编程新手),现在正在创建我的第一个应用程序。我有一个包含外键的模型,它是多对一的关系(一行可以包含许多文章,但每篇文章只与一行相关)。在我的模板中,我想连接多个值来为图像源创建一个 url。
models.py中的相关信息:
class Article(models.Model):
line = models.ForeignKey(Line, null=True)
article = models.CharField(max_length=128)
slug = models.SlugField(null=True)
class Line(models.Model):
line = models.CharField(max_length=128, unique=True)
相关视图将Article.objects.get(slug=article_slug) 作为article in context_dict 发送到模板。在我的模板中,我包含以下内容并正确返回预期值:{{ article.article }} 和 {{ article.line }}。如果我连接 article.article 的值,它会返回预期值:
{% with article.article as a %}
这里{{ a }} 显示了article.article 的值。但是,当我尝试连接 article.line 的值时,我没有得到任何值。
{% with article.line as l %}
{{ l }} 不返回任何内容。我认为这是因为外键也可以解释为一对多,因此我尝试指定哪个值(我还使用了诸如 article.line.all.0 之类的变体)。
{% with article.line_set|first as l %}
这里{{ l }} 也不返回任何内容。
为什么我可以在模板中将article.line 的值作为文本返回,但我不能将它包含在串联中?
【问题讨论】:
标签: python django django-templates