2014-01-07 78 views
1

我有一個頁面上的ModelForm並提交,打到下面的觀點:Django的,從另一個在表單提交返回一個視圖

def add_review(request, id=None): 
if request.method == 'POST': 
    review_form = ReviewForm(request.POST or None) 
    if review_form.is_valid(): 
     # do some stuff here... 

return redirect('/movies/{0}'.format(id)) 

目前重定向到我們所來自的頁面,這使得任何形成錯誤會丟失。因此,當在所述頁面上時,用戶不會收到錯誤消息輸出來通知他們。

有沒有一種方法可以將任何review_form.errors傳遞給被重定向到的視圖,或者只是返回該視圖而不是重定向到它?這裏是一個觀點:

def view(request, id=None): 
movie = get_object_or_404(Movie, id=id) 

context = Context({ 
    'movie': movie, 
    'review_form': ReviewForm(), 
    'reviews': Review.objects.filter(
     movie=movie).order_by('-created_on')[:3], 
    'genres': movie.moviegenre_set.filter(movie.title), 
}) 
return render(request, 'movies/view.html', context) 

感謝

回答

1

望着doc

雖然可以處理表單提交只使用Django的 HttpRequest類,使用表單庫需要一系列護理 常見的窗體相關任務。使用它,您可以:

  1. 顯示帶有自動生成的表單小部件的HTML表單。
  2. 根據一組驗證規則檢查提交的數據。

    3.在驗證錯誤的情況下重新顯示錶單。

  3. 將提交的表單數據轉換爲相關的Python數據類型。

在HTML顯示當前形式的錯誤,你只需要做到這一點

{{ form.field.errors }} 
相關問題