python - Django 表單問題?
問題描述
關(guān)于Django表單問題先給出models.py和forms.py
圖片描述
再給出views.py的代碼
def articleUpdate(request, articleId):’’’Update the article instance: 1. Get the article to update; redirect to 404 if not found2. Render a bound form if the method is GET3. If the form is valid, save it to the model, otherwise render abound form with error messages’’’articleToUpdate = get_object_or_404( Article, id=articleId)template = ’article/articleCreateUpdate.html’if request.method == ’GET’: print(ArticleForm(instance=articleToUpdate)) articleForm = ArticleForm(instance=articleToUpdate) return render(request, template, {’articleForm’:articleForm, ’article’:articleToUpdate})# POSTarticleForm = ArticleForm(request.POST, instance=articleToUpdate)if not articleForm.is_valid(): return render(request, template, {’articleForm’:articleForm, ’article’:articleToUpdate})articleForm.save()messages.success(request, ’文章已修改’)return redirect(’article:articleRead’, articleId=articleId)def commentCreate(request, articleId): ’’’Create a new article instance1. If method is GET, render an empty form2 . If method is POST, perform form validation. Display error messages if the form is invalid3. Save the form to the model and redirect to the article page’’’template = ’article/commentCreate.html’ articleToUpdate = get_object_or_404( Article, id=articleId) if request.method == ’GET’:return render(request, template,{’commentForm’:CommentForm(), ’article’:articleToUpdate}) # POSTcommentForm = CommentForm(request.POST, instance=articleToUpdate) if not commentForm.is_valid():return render(request, template, {’commentForm’:commentForm(), ’article’:articleToUpdate}) commentForm.save() messages.success(request,’留言已新增’) return redirect(’article:articleRead’,articleId=articleId)
兩則方法是幾乎是一樣的,都是用forms表單,但是我使用的forms表單并不是同一類,一個是ArticleForm一個是CommentForm但是結(jié)果出現(xiàn)在views:commentCreate里它的效果是等于articleUpdate,即新增留言變成修改文章內(nèi)容
問題解答
回答1:表單是類,你取出數(shù)據(jù),為什么不填充到表單中。
else:form = CommentsForm(request.POST)if form.is_valid():
相關(guān)文章:
1. java固定鍵值轉(zhuǎn)換,使用枚舉實現(xiàn)字典?2. javascript - 有沒有類似高鐵管家的時間選擇插件3. 這是什么情況???4. html - 如何使用用戶輸入的數(shù)據(jù)去運行一個數(shù)學(xué)公式,最后怎么返回。5. java - HTTPS雙向認證基礎(chǔ)上有無必要再進行加簽驗簽?6. python - flask學(xué)習(xí),user_syy添加報role is invalid keyword for User.7. 如何解決tp6在zend中無代碼提示8. css3 - less或者scss 顏色計算的知識應(yīng)該怎么學(xué)?或者在哪里學(xué)?9. vim - win10無法打開markdown編輯器10. javascript - 移動端開發(fā) H5 頁面在 iOS手機上無法實現(xiàn) 長按復(fù)制文本 求解決
