2016-09-19 10 views
-1

Ajaxでテンプレートに検証エラーのテキストをどのように応答できますか?あなたは上記のエラーメッセージ表示する必要がPython-Djangoレスポンスエラーのテキスト

def create_user(request): 
    if request.method == 'POST': 
     is_super = True 
     if request.POST.get('is_super') in 'false': 
      is_super = False 
     if request.POST.get('password') == request.POST.get('confirm'): 
      user = User.objects.create(first_name=request.POST.get('first_name'), 
             last_name=request.POST.get('second_name'), 
             username=request.POST.get('username'), 
             is_superuser=is_super, 
             date_joined=datetime.now()) 
      user.set_password(request.POST.get('password')) 
      user.save() 
     else: 
      raise forms.ValidationError("Passwords doesn't match") 
     return HttpResponse('') 
+2

IMHOを行う最初のことは、ビューでフォームとフォームの検証を正しく使う方法と、このすべての作業を__without__ ajaxにする方法を学ぶことです。 canonical(ajaxなし)のケースが動作するようになると、それをajaxでもうまく動作させる方法を考える時間があります。 –

+0

ビューで検証エラーを発生させないでください。フォーム内でそれらを呼び出すと、ビューは 'errors'属性を含むフォームをテンプレートに送ります。 –

答えて

0
def create_user(request): 
    if request.method == 'POST': 
     is_super = True 
     if request.POST.get('is_super') in 'false': 
      is_super = False 
     if request.POST.get('password') == request.POST.get('confirm'): 
      user = User.objects.create(first_name=request.POST.get('first_name'), 
             last_name=request.POST.get('second_name'), 
             username=request.POST.get('username'), 
             is_superuser=is_super, 
             date_joined=datetime.now()) 
      user.set_password(request.POST.get('password')) 
      user.save() 

     else: 
      return HttpResponse(json.dumps({'error': True, 'message': 'Password and confirm password doesnt match'}))`    
     return HttpResponse('') 

のjQueryを使用してHTMLに「パスワードをパスワードの確認が一致しません」。

関連する問題