Django内嵌的html页面显示主页面的变量

比如有两个页面a.html和b.html a.html里面使用{% include b.html %},然后在b.html里面使用a.html的view里面数据库的查询

a.html 的view文件

class HomePageView(TemplateView):
template_name = 'home.html'


def home(request):
allcategory = TypeList.objects.all()#通过Category表查出所有分类
print ("this is home device function")
#把查询出来的分类封装到上下文里
context = {
'allcategory': allcategory,
}
return render(request, 'home.html', context)#把上下文传到index.html页面
b.html里面是这个样子的:
<ul>

{% for device in allcategory %}
<li> {{device.type}} </li>
{% endfor %}

</ul>

关键的部分其实是在网站urls.py文件的定义里面,也就是网站启动的时候是不会启动这个home函数的,那么我们认为的把url修改成直接启动这个函数:
urlpatterns = [

path('',views.home),

]


发表评论