每當我打開一個頁面,我想獲得當前活動的項目ID。這將通過撬動子域來完成,並驗證當前登錄的用戶可以查看它。Django變量的選項廣泛可用
一旦我達到我的看法我希望能夠做
tasks = Task.objects.filter(project = current_project)
凡current_project(或CURRENT_PROJECT或current_project ???)已設置了。
任何人都可以解釋我在文檔中找到的各種方法的優缺點,並將我放在正確的軌道上嗎?
- 會議
- 中間件
- 線程
- 內建
這是我到底是怎麼做的:
裝飾:
def check4project(fn):
current_project = 'fred'
def check(*args, **kw):
kw['project']=current_project
return fn(*args, **kw)
return check
查看示例
@login_required
@check4project
@tweetpost
def index(request, project=0):
print project
感謝您的幫助,它幫助我澄清了各種選項。 我喜歡3的聲音,因爲這是驗證用戶是否可以同時訪問項目的一種簡單方法,但大多數情況下並不是所有視圖都需要了解項目。 – PhoebeB 2009-09-13 13:14:42
對於視圖裝飾者+1。 – 2009-09-13 17:44:59