def review_create(request, restaurant_id): if request.method == 'POST': form = ReviewForm(request.POST) # if form.is_valid(): new_item = form.save() return redirect('restaurant-detail', id=restaurant_id) item = get_object_or_404(Restaurant, pk=restaurant_id) form = ReviewForm(initial={'restaurant': item}) return render(request, 'third/review_create.html', {'form': form, 'item': item})
def review_create(request, restaurant_id): if request.method == 'POST': form = ReviewForm(request.POST) if form.is_valid(): new_item = form.save() return redirect('restaurant-detail', id=restaurant_id) #Review 처음 form 제작하고 난 후에 위의 POST 실행이 됨 item = get_object_or_404(Restaurant, pk=restaurant_id) #어떤 restaruant인지 db에서가져와 id 값을 initial의 속성으로 전달 form = ReviewForm(initial={'restaurant' : item}) return render(request, 'third/review_create.html',{'form': form, 'item': item}) #item = restaurant_id
def review_create(request, restaurant_id): if request.method == 'POST': form = ReviewForm(request.POST) if form.is_valid(): new_item = form.save() return redirect('restaurant-detail', id=restaurant_id) item = get_object_or_404(Restaurant, pk=restaurant_id) # 빈 form값이 아닌 사전에 정의한 내용이름 입력 # 해당 부분에서는 미리 hiddenfield에 'restaurant'를 넣기 위해 사용 form = ReviewForm(initial={'restaurant':item}) return render(request, 'third/review_create.html', {'form':form, 'item':item})
def review_create(request, restaurant_id): if request.method == 'POST': form = ReviewForm(request.POST) if form.is_valid(): new_item=form.save() return redirect('restaurant-detail', id=restaurant_id) #주소를 VIEW 이름 기반으로 해서 그대로 간다 item = get_object_or_404(Restaurant, pk=restaurant_id) form = ReviewForm(initial={'restaurant':item}) #ReviewForm 을 생성하면 원래 백지장 처럼 아무것도 모르는 form 이 생성되는데 시작하면서 initial을 만들어 #어떤 restaurant에 적혀야 할 comment 인지를 제공하는 것이다. 이때 'restaurant'은 forms.ReveiwForm 의 fields명 이다. return render(request, 'third/review_create.html',{'form':form, 'item':item})
def review_create(request, restaurant_id): if request.method == 'POST': form = ReviewForm(request.POST) # if form.is_valid( ): # 데이터가 form 클래스에서 정의한 조건 (max_length 등)을 만족하는지 체크합니다. new_item = form.save() # save 메소드로 입력받은 데이터를 레코드로 추가합니다. return redirect('restaurant-detail', id=restaurant_id) # 전화면으로 이동합니다. item = get_object_or_404(Restaurant, pk=restaurant_id) form = ReviewForm(initial={'restaurant': item}) return render(request, 'third/review_create.html', { 'form': form, 'item': item })