2013-09-30 53 views
0

當我輸入無效的電子郵件地址時,我看不到錯誤消息,例如「這不是無效的電子郵件」。表單錯誤不會顯示在模板上?

我comment_form.html:

{% load i18n %} 

    <form action="/comment/create/" method="post"> 
     {% csrf_token %} 
      {{ form.errors }} 
      {% for field in form %} 
      <div class="fieldWrapper"> 
       {{ field.label_tag }} 
       {{ field }}<p> 
      </div> 

      {% endfor %} 
      <input type="hidden" name = "object_id" value="{{object_id}}" /> 
      <input type="hidden" name= "next" value="{{ next }}" /> 
     <input type="submit" value="{% trans "Submit" %}"> 

    </form> 

我post_detail.html:

extends "base.html" %} 



{% block content %} 
<div id="exap"> 


    {{ post.content }} 

</div> 
<div class="comment"> 
    {% for comment in comments %} 
     <user>{{ comment.owner }}</user> 
     {{ comment.content}} 
    {% endfor %} 


</div> 
{% include "comment_form.html" %} 


{% endblock %} 

這是我comment.views

def create(request): 
    if request.method == 'POST': 
     form = CommentForm(request.POST) 
     email = request.POST.get('email') 
     next = request.POST.get('next') 
     if form.is_valid(): 
      content_type = ContentType.objects.get(app_label="post", model="post") 
      object_id = request.POST["object_id"] 
      comment = Comment.objects.create(
       content_type = content_type, 
       object_id = object_id, 
       content = request.POST.get('content'), 
       owner= request.POST.get('owner'), 
       email = request.POST.get('email') 
      ) 
     else: 
      print form.errors 
    else: 
     form = CommentForm() 
    return HttpResponseRedirect(next) 

錯誤消息犯規顯示模板?

我在哪裏錯了?

+0

表單驗證正確嗎?我的意思是服務器正確地生成錯誤消息? – karthikr

+0

我編輯了我的代碼。 –

+0

在嘗試編碼之前,請閱讀django教程。你可以使用django表單來在這裏使用。來到你的問題,在'除了',它應該'提出ValidationError('無效的電子郵件')' – karthikr

回答

1

karthikr正試圖告訴你評論中的錯誤。您沒有使用表單進行驗證,因此它不會顯示任何錯誤。而不是在做if validateEmail(email),你應該在表單類中有電子郵件驗證代碼,並在視圖中調用if form.is_valid()

另外,當你寫窗體的方法clean_email,你應該相扶ValidationError:這是錯誤的窗體的錯誤列表傳遞的方式。

+0

我剛纔看到了,謝謝。 –