如何在Django的一个项目中的一个模板中显示两个不同应用程序和不同视图的上下文?

时间:2019-04-03 16:35:50

标签: python django templates jinja2

我有一个具有不同视图和不同功能的项目。 我想访问并显示其他html应用程序中视图之一的上下文。 这是我的代码

washer.views.py

def Product_list_view(request):
    product_list_view = Product.objects.all()
    best_post = Product.objects.order_by('timefield')[0:2]
    context = {
       "product_list_view": product_list_view,
       'best_post':best_post
    }
    template_name = "product_list_view.html"
    return render(request,template_name,context)

gasket.views.py

  def home(request):
     template= "base.html"
     return render(request,template,context={})

我如何访问product_list_view的上下文并将其显示在base.html中? 我可以在不同的应用程序中将一个html设置为两个不同的视图吗?并访问他们两个的上下文? 我该怎么办? tnx帮我。

1 个答案:

答案 0 :(得分:1)

我不确定您实际上要在此处实现什么,但是您可以将gasket.views.py重写为

def home(request):
     template= "base.html"
     context = {
         "product_list_view": Product.objects.all(),
         'best_post':Product.objects.order_by('timefield')[0:2]
     }
     return render(request,template,context={})

很显然,您需要添加from washer.models import Product