我是Django的初学者。将多个对象传递给具有渲染的模板
我有以下型号项目:
我的文章型号:
class Post(models.Model):
title = models.CharField(max_length=200)
slug = models.SlugField(max_length=160)
content = models.TextField()
image = models.ImageField(upload_to=upload_location)
timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
updated = models.DateTimeField(auto_now=True, auto_now_add=False)
categorie = models.CharField(max_length=200)
categorie = models.ForeignKey('categorie.Categorie')
publier = models.BooleanField()
我的投资组合大类车型这与我的文章型号链接:
class Categorieport(models.Model):
title = models.CharField(max_length=200)
article = models.OneToOneField('posts.Post')
最后,我所有的照片组合模型:
class Portfolio(models.Model):
title = models.CharField(max_length=200)
image = models.ImageField(upload_to=upload_location)
timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
updated = models.DateTimeField(auto_now=True, auto_now_add=False)
categorieportfolio = models.ForeignKey('Categorieport')
在一个视图和一个模板中,我想要显示与文章相关的文章和投资组合信息。
我写了下面的观点:
def portfolio(request, article=None):
portfolio = get_object_or_404(Categorieport, article=article)
image_portfolio = portfolio.portfolio_set.all()
return render(request, 'portfolio1.html', {'portfolio': portfolio, 'image_portfolio': image_portfolio})
而下面的模板:
<div class="titre-display">
<h2>{{ portfolio.article.timestamp|date:"d E Y" }}/{{ portfolio.article.categorie}} </h2>
<h1>{{ portfolio.article.title}}</h1>
</div>
<div class="content-display">
<div class="content-display-main">
<div class="content-display-main-portfolio">
<div class="image-portfolio">
<a class="example-image-link" href="{{ image_portfolio.image.url }}" data-lightbox="example-set" data-title="{{image_portfolio.title}}">
</a>
我可以从我的文章访问信息,但我无法从我的投资组合获取信息。我尝试了它的外壳,它的工作原理。我无法弄清楚为什么它在我的视图和模板中不起作用。
你有什么想法吗?
预先感谢您
Singertwist
请妥善格式化你的代码。阅读不好。另外,一般查看基于类的视图,特别是'get_context_data'方法。 – creimers