【发布时间】:2020-10-05 23:43:59
【问题描述】:
我正在尝试向从单独应用中提取的主页模型添加额外的上下文。
模型中已有的函数已经在处理页面上的联系表单。我想从投资组合应用添加博客文章。
这是我的模型中的函数:
def serve(self, request, *args, **kwargs):
from contact.forms import ContactForm
from portfolio.models import PortfolioDetailPage
context = super().get_context(request)
context['posts'] = PortfolioDetailPage.objects.live().public()
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
//form stuff
try:
//more form stuff
except Exception as e:
//more form stuff
return render(request, 'contact/contact_page_landing.html', {
'page': self,
'contact': contact
})
else:
form = ContactForm()
return render(request, 'home/home_page.html', {
'context': context,
'page': self,
'form': form
})
在我的模板中,我有以下内容:
{% for post in posts %}
<div class="row">
<div class="col-lg-4 col-md-4 col-sm-6">
{% image post.gallery_main_image fill-250x250 as blog_img %}
<div class="latest__item">
<img src="{{ blog_img.url }}" alt="">
<h4><a href="{{ post.url }}">{{ post.gallery_name }}</a></h4>
</div>
</div>
{% endfor %}
</div>
但是,在我的上下文中,我没有收到任何 posts。表格工作正常。似乎这是 Wagtail 中的 serve 函数已经拉出我的上下文的问题,并且不知何故我没有正确返回它,但我无法弄清楚。
【问题讨论】:
标签: python-3.x django django-views wagtail