2012-12-11 22 views
0

我有一個Django應用程序,我希望保證新註冊的用戶已經完成並提交了一組3頁的表單。我想控制他訪問任何其他網址的能力,直到他完成這些表單。由於我使用django-social-auth進行Facebook身份驗證,因此創建User實例之後,頁面的順序出現。你如何控制用戶通過Django應用程序的「路徑」?

我才能成像創建其中一個模型用來記錄他完成這一步,如果他試圖訪問任何其他URL重定向他的下一個必要步驟中間件類。如果需要在3個頁面上有任何需要的話,那麼就需要有一個針對ajax端點的例外網址白名單。這感覺像是一種不好的方式來實現這一點。有什麼選擇?

+1

我存儲在用戶的會話信息和下文提到的裝飾檢查值,並根據需要重定向。 – sean

+0

我應該把這個裝飾器放在我的應用程序的每個視圖中? – hekevintran

+0

我只把它放在某些頁面上。就像,付款頁面必須在註冊頁面之前等等。但是,我沒有將它放在控制面板上,因爲用戶無法通過註冊過程就無法進入該頁面。 – sean

回答

-1

我會創建一個python裝飾器來控制它。

+0

-1,太通用了,因此沒有幫助 – mbatchkarov

+1

+1,因爲它是真的......雖然也太普通:) –

+0

-1,提供了一些關於如何將其應用於有問題的案例的詳細信息 –

0

只需將「process_completed」或類似變量存儲到True,並在檢查此變量的中間件中執行布爾檢查。

相關問題