Django forms使ç¨å®¹æ, åæ¹ä¾¿æ©å±, å æ¤Django adminåCBVsåºæ¬é½åºäºforms使ç¨. äºå®ä¸, ç±äºdjango formsç强大éªè¯åè½, 大å¤æ°Django API æ¡æ¶é½æ¯ç¨formsä½ä¸ºå
¶éªè¯çä¸é¨å.
è½ç¶django formsçå¦ä¹ éè¦è±è´¹ä¸ç¹æ¶é´, ä½å¦æå°forms, modelsåviewsç»åèµ·æ¥ä½¿ç¨, æ们å¯ä»¥è±è´¹å¾å°çç»åæ¥å®æåºå¤§çå·¥ä½.
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ä¸ä¿®æ¹éªè¯
å¨ä¸é¢çä¾åä¸, å¦ææ们å¸ææ¯ç¯article titleçå¼å¤´é½æ¯"new", é£ä¹åºè¯¥æä¹åå¢? é¦å
æ们éè¦å»ºç«èªå®ä¹çéªè¯(validator):
温馨提示:答案为网友推荐,仅供参考