2 回答

TA貢獻1873條經驗 獲得超9個贊
1. Django Forms的強大之處
有些django項目并不直接呈現HTML, 二是以API框架的形式存在, 但你可能沒有想到, 在這些API形式的django項目中也用到了django forms. django forms不僅僅是用來呈現HTML的, 他們最強的地方應該是他們的驗證能力. 下面我們就介紹幾種和Django forms結合使用的模式:
2. 模式一: ModelForm和默認驗證
最簡單的使用模式便是ModelForm和model中定義的默認驗證方式的組合:
# myapp/views.py
from django.views.generic import CreateView, UpdateView
from braces.views import LoginRequiredMixin
from .models import Article
class ArticleCreateView(LoginRequiredMixin, CreateView):
model = Article
fields = ('title', 'slug', 'review_num')
class ArticleUpdateView(LoginRequiredMixin, UpdateView):
model = Article
fields = ('title', 'slug', 'review_num')
正如以上代碼中看到的一樣:
ArticleCreateView和ArticleUpdateView中設置model為Article
兩個view都基于Article model自動生成了ModelForm
這些ModelForm的驗證, 是基于Article model中定義的field轉換而來的
3. 模式二, 在ModelForm中修改驗證
- 2 回答
- 0 關注
- 633 瀏覽
添加回答
舉報