2011-10-19 13 views
0

來自TEMPLATE_CONTEXT_PROCESSORS的處理器不允許編輯上下文或我很困惑? 即使我繼承如何在呈現之前編輯Context()? Django

class MyContext(Context): 
    def __init__(self, *args, **kwargs): 
     Context.__init__(self, *args, **kwargs) 

語境,並試圖把它傳遞給context_instance它不會讓我查看在字典。它在渲染前附加它。

return render_to_response(template, {'hello':'Hello World'}, context_instance=MyContext()) 

那麼如何在呈現之前分析和編輯上下文?

UPDATE:

我發現的唯一方法是繼承背景端重寫更新方法。

class RequestContext(Context): 

    def update(self,other_dict): 
     print other_dict 
     super(RequestContext, self).update(other_dict) 
+0

爲什麼你想這樣做? –

+0

我想使裝飾,它允許您在沒有管理員的幫助下在頁面中編輯內容。所以你只是裝飾你的模型,如果你有權這樣做的話,它一直會在你的網站上編輯。我想用http://aloha-editor.org/。這將是一個打折的應用程序。但如果沒有編輯上下文的方式,它不會像我想要的那樣可插入。我只需要按div封裝字段 – Pol

回答

0

您可以設置相同的變量名稱並覆蓋它,請檢查Django docs。您無法讀取上下文處理器中的上下文。你可能可以使用template tags,但它們並不是真正意義上的。

相關問題