"如果request.method ==' POST':" ==错误,但是"如果request.POST" ==是的。为什么? - Django

时间:2014-03-26 03:41:19

标签: django python-2.7 django-forms django-views

当我使用以下代码时,第一个if语句始终返回False。但是,如果我将其更改为request.POST,它将返回True。有谁知道为什么?还有其他人经历过这个吗?我使用方法="发布"的基本表单发送数据。

def add_new_user(request):
    context = RequestContext(request)
    if request.method == 'POST':
        form = NewUserForm(request.POST)
        if form.is_valid():
            form.save(commit=True)
            return index_input(request)
        else:
            print form.errors
    else:
        form = NewUserForm()

    return render_to_response('appname/add_new_user.html',
        {'form': form}, context)

1 个答案:

答案 0 :(得分:0)

空字典将在Python中返回False,这就是如果POST QueryDict中没有数据,request.POST将返回False的原因。

$ d = {}
$ d is True
$ False