2010-10-08 30 views
1

我有一個Django模板作爲我的前端。在後臺,我使用Gaeutilities提供的會話來存儲變量(電子郵件)。使用Google App Engine(Webapp)訪問Django模板中的會話變量 - Python

前端:

{% if session.Email %} 
     <div id="entersite">WELCOME <em>{{session.Email}}</em></div> 
    {% else %} 
     <div id= "entersite"><a href="/login/" id= "entersite">Enter the Site</a></div> 
    {% endif %} 

後端:

self.session = Session() 
self.session['email'] = email 
      temp = os.path.join(os.path.dirname(__file__),'templates/index.htm') 
      outstr = template.render(temp, {}) 
      self.response.out.write(outstr) 

問題:如何訪問在服務器端存儲的會話,並用它在Django模板(前端)?

有人可以給這個qns更新嗎?

回答

2

您需要在django模板上下文中設置會話對象,不是嗎?

template.render(temp, {'session':self.session}) 
+1

嗨, 通過這樣做,您只是使用會話值呈現模板。會發生什麼情況是,當我點擊指向另一個頁面的鏈接時,並從該頁面返回到相同的模板,會話值不會顯示。這是因爲我沒有將會話值呈現給頁面中的模板。 我想要做的是在後端創建一個會話並遍歷幾個頁面,當我回到模板時,仍然可以檢索會話值。 任何想法? – Queryer 2010-10-08 14:57:49

1

通過這樣做,您只是使用會話值呈現模板。會發生什麼情況是,當我點擊指向另一個頁面的鏈接時,並從該頁面返回到相同的模板,會話值不會顯示。這是因爲我沒有將會話值呈現給頁面中的模板。我想要做的是在後端創建一個會話並遍歷多個頁面,當我回到模板時,仍然可以檢索會話值。有任何想法嗎?

相關問題