내 수업 중 하나에 대한 검색 양식을 만들려고합니다.Django : Model Form "객체에 'cleaned_data'속성이 없습니다."
from django import forms
from django.forms import CharField, ModelMultipleChoiceField, ModelChoiceField
from books.models import Book, Author, Category
class SearchForm(forms.ModelForm):
authors = ModelMultipleChoiceField(queryset=Author.objects.all(),required=False)
category = ModelChoiceField (queryset=Category.objects.all(),required=False)
class Meta:
model = Book
fields = ["title"]
그리고 내가 사용 뷰는 다음과 같습니다 : 형태의 모델이다
from django.shortcuts import render_to_response, redirect, get_object_or_404
from django.template import RequestContext
from books.models import Book,Author
from books.forms import BookForm, SearchForm
from users.models import User
def search_book(request):
if request.method == "POST":
form = SearchForm(request.POST)
if form.is_valid():
form = SearchForm(request.POST)
stitle = form.cleaned_data['title']
sauthor = form.cleaned_data['author']
scategory = form.cleaned_data['category']
else:
form = SearchForm()
return render_to_response("books/create.html", {
"form": form,
}, context_instance=RequestContext(request))
양식이 잘 나타나,하지만 난 그것을 제출하면 오류 얻을 : 'SearchForm' object has no attribute 'cleaned_data'
무슨 일이 일어나고 있는지 모르겠지만 누군가 나를 도울 수 있습니까? 감사! 꽤 많은 documentation 같은
def search_book(request):
form = SearchForm(request.POST or None)
if request.method == "POST" and form.is_valid():
stitle = form.cleaned_data['title']
sauthor = form.cleaned_data['author']
scategory = form.cleaned_data['category']
return HttpResponseRedirect('/thanks/')
return render_to_response("books/create.html", {
"form": form,
}, context_instance=RequestContext(request))
:
'form = SearchForm (request.POST)'를 두 번 호출하는 이유는 무엇입니까? – hughdbrown