django模型表单没有显示任何错误

时间:2015-01-16 16:51:32

标签: django django-forms django-templates django-views

我在模板中没有收到任何错误。它只是让我回到表格没有错误。虽然上传功能工作正常,但如果我不给任何输入它不会给我任何错误。如果我的模板中有错误,我将如何获得错误?

HTML:

{% block content %}
    <form action="/{{ user.username }}/upload_photos/" method="post" enctype="multipart/form-data">
    {% csrf_token %}
        {{ form.as_p }}
        <input type="submit" value="Upload"/>
    </form>
{% endblock %}

views.py:

def upload_photos(request, user_name):
    user = User.objects.get(username=unquote(user_name))
    if request.method=='POST':
        form = PhotoForm(request.POST, request.FILES)
        if form.is_valid():
            forum = form.save(commit=False)
            forum.user = user
            forum.save()
            return HttpResponseRedirect('/'+user.username+'/photos')
        else:
            form = PhotoForm()
            return render(request, 'upload_photos.html',{'form':form})

    else:
        form = PhotoForm()
        return render(request, 'upload_photos.html',{'form':form})

1 个答案:

答案 0 :(得分:0)

我已经注释掉了清空表单的行。

def upload_photos(request, user_name):
    user = User.objects.get(username=unquote(user_name))
    if request.method=='POST':
        form = PhotoForm(request.POST, request.FILES)
        if form.is_valid():
            forum = form.save(commit=False)
            forum.user = user
            forum.save()
            return HttpResponseRedirect('/'+user.username+'/photos')
        else:
            #  form = PhotoForm()  Don't overwrite the submitted form.
            return render(request, 'upload_photos.html',{'form':form})

    else:
        form = PhotoForm()
        return render(request, 'upload_photos.html',{'form':form})