2011-06-03 83 views
1

我想爲應用程序想出一個基本模板,其中一個目標是從頁面中刪除任何不必要的js/css,所以我想在獵豹模板中做一些事情檢查獵豹模板字典是否有鍵

#if $dict.has_key('datepicker'): 
    <link rel="stylesheet" href="$datepicker" type="text/css" /> 
#end if 

我認爲這也將通過類似namemap錯誤幫助沒有鑰匙「日期選擇器」

我目前的錯誤我使用WSGIHandler越來越被

TypeError: descriptor 'has_key' requires a 'dict' object but received a 'str' 

我FE EL這樣與我做鑄造處理程序返回的海峽,但不應該在模板被解析它到達海峽

t = Template(file=WORKSPACE_PATH+"/tmpl/posts.html", searchList=[tmpldict]) 
self.response_body = str(t).encode('utf8') 
return str(t) 

回答

1

的錯誤之前是這樣的:

dict.has_key('datepicker') 

「字典「是一個類,所以它期望」dict.has_key「的第一個參數是」dict「的一個實例。

您傳遞的是字符串而不是字典對象。

基本上,「d.has_key(k)」相當於「dict.has_key(d,k)」,而你有後者。

+0

我只是混淆瞭如何引用模板內的字典 – BillPull 2011-06-03 19:42:24

+0

在諮詢了文檔後,我會說嘗試#try ...#除了KeyError – MRAB 2011-06-03 20:00:15

+0

,但如果密鑰不存在,我會得到一個KeyError而不是我想要做的只是在解析中沒有包含該鍵 – BillPull 2011-06-03 20:12:28