base.html页面的模型和视图

时间:2017-05-27 17:07:43

标签: django python-3.x

views.py

def HomeView(请求):

    slider = SliderImage.objects.all()
    gallary = GallaryImage.objects.all()
    lastimage = gallary.latest('id')
    return render(request,'homepage/homepage.html', {'slider': slider, 
                  'gallary': gallary, 'lastimage': lastimage})

urls.py

urlpatterns = [

    url(r'^$', views.HomeView, name='HomeView'),

滑块位于我的基本模板上。当我在otherpage.html等其他网页上使用extend base.html时,此滑块无效。因为它找不到图像的来源。

2 个答案:

答案 0 :(得分:1)

在单个函数中查询数据库中的两个对象,并将它们传递给模板。

return render(request,'homepage/homepage.html', {'gallary': gallary, 'lastimage': lastimage, 'slider': slider})

答案 1 :(得分:-1)

你需要做这样的事情 -

 urlpatterns = [

url(r'^$', views.HomeView, name='HomeView'),

url(r'^$', views.SliderView, name='SliderView'),

# may be you can add this into your view
url(r'^views/$', views.CommonView, name='CommonView'),
]

 def CommonView(request):

    slider = SliderImage.objects.all()
    gallary = GallaryImage.objects.all()
    lastimage = gallary.latest('id')
    return render(request,'homepage/common.html', {'slider': slider ,'gallary': gallary , 'lastimage': lastimage})

common.html 内添加两个html片段,其中一个包含'homepage.html',另一个包含'base.html'

PS:您也可以在common.html

中执行此操作
 {% extends "homepage.html" %}

 {% extends "base.html" %}

这将扩展您的模板并放置模板参数