2010-02-18 40 views
1

我在Django有一個表單。如果用戶通過身份驗證,我希望他們看到他們可以編輯的表單:如果他們不是,那麼我希望他們看到只顯示錶單。Django:根據用戶是否通過身份驗證顯示/編輯表單?

在這兩種情況下,我想顯示相同的信息,只是如果他們通過身份驗證,那麼我希望表單可以編輯。

Django有沒有簡單的方法來做到這一點?我可以在模板或視圖中檢查user.is_authenticated:我不想在模板中複製表單代碼。

我發現this question,但接受的答案看起來非常複雜。 Django肯定有內置的東西來處理這個問題嗎?

回答

2

也許是這樣的:

{% if user.is_authenticated %} 
    {{form.as_table}} 
{% else %} 
    {% for field_name, value in form.data.iteritems %} 
     {{field_name}}: {{value}} 
    {% endfor %} 
{% endif %} 
相關問題