2017-08-30 60 views
-2

我想在發生此錯誤時將一個變量傳遞給模板。 我看到很多stackoverflow的答案,但它告訴,Django默認發送Self,這就是爲什麼它說我發送3個參數。但什麼它的解決方案,我沒有得到render()只需要2個參數(給出3個參數)當我想通過varibale時Django視圖

Url.py

url(r'^(?P<lid>\d+)/labels/$' , 
login_required(LayerView.as_view('ImportLabelView')), 
name='mapport.maps.layers.importlabel') 

view.py

return self.render('mapport/maps/layers/Labels_detail.html' , {'lid': self.layer.id}) 

所以,我怎麼可以讓我的第三個參數來傳遞?

編輯: Layerview使用from mapport.core.views import BaseView和它的代碼是

class LayerView(BaseView): 
    def __init__(self): 
     # super(LayerView, self).__init__() 
     self.tab = 'layers' 
+0

嘗試改變'self.render(...)''來渲染(...)'。 – ikkuh

+1

'LayerView'子類是什麼泛型視圖? –

+0

@ikkuh給出錯誤。 – Learner

回答

1

您可以直接使用render快捷方式爲:

from django.shortcuts import render 
.... 
render(
    request, 
    'mapport/maps/layers/Labels_detail.html', 
    {'lid': self.layer.id}) 
+0

'str'對象沒有屬性'META' – Learner

+0

請在您的問題中添加LayerView代碼。具體來說,這種情況下調用渲染的方法。 –

+0

請檢查 – Learner

相關問題