def impression_edit(request, book_id, impression_id=None): """感想の編集""" book = get_object_or_404(Book, pk=book_id) # 親の書籍を読む if impression_id: # impression_id が指定されている (修正時) impression = get_object_or_404(Impression, pk=impression_id) else: # impression_id が指定されていない (追加時) impression = Impression() if request.method == 'POST': form = ImpressionForm( request.POST, instance=impression) # POST された request データからフォームを作成 if form.is_valid(): # フォームのバリデーション impression = form.save(commit=False) impression.book = book # この感想の、親の書籍をセット impression.save() return redirect('cms:impression_list', book_id=book_id) else: # GET の時 form = ImpressionForm( instance=impression) # impression インスタンスからフォームを作成 return render( request, 'cms/impression_edit.html', dict(form=form, book_id=book_id, impression_id=impression_id))
def impression_edit(request, book_id, impression_id=None): book = get_object_or_404(Book, pk=book_id) if impression_id: # 수정 impression = get_object_or_404(Impression, pk=impression_id) else: # 추가 impression = Impression() if request.method == 'POST': # DB 반영 작업 form = ImpressionForm(request.POST, instance=impression) if form.is_valid(): writer2 = request.session['user_id'] impression.replyname = writer2 impression = form.save(commit=False) impression.book = book impression.save() return redirect('cms:impression_list', book_id=book_id) else: # 화면에 View 작업 form = ImpressionForm(instance=impression) return render( request, "cms/impression_edit.html", dict(form=form, book_id=book_id, impression_id=impression_id))
def test_valid(self): """正常な入力を行えばエラーにならないことを検証""" params = dict(comment='感想') impression = Impression() form = ImpressionForm(params, instance=impression) self.assertTrue(form.is_valid())
def test_either(self): """何も入力しなければエラーになることを検証""" params = dict() impression = Impression() form = ImpressionForm(params, instance=impression) self.assertFalse(form.is_valid())