Django的所有POST请求返回TypeError

时间:2018-10-14 20:19:45

标签: python django linux python-3.6 uwsgi

我使用Ubuntu 16.04 + Nginx + Python3.6 + Uwsgi + Supervisor + Django的VPS

我有这样的总体看法:

body { margin:0; padding:0; }
#map{
    border-style: solid;
    border-width: 5px;
}

和html:

def login_view(request):
    data = {}
    if request.POST:
        password = request.POST['password']
        plogin = request.POST['login']

        try:
            user = User.objects.get(username=plogin)
        except User.DoesNotExist:
            data['error'] = 'DoesNotExist!'
            return render(request, 'error.html', data)
        except Exception as e:
            data['error'] = e
            return render(request, 'error.html', data)
        else:
            if user.check_password(password):
                login(request, user)
            else:
                data['error'] = 'Wrong password!'
                return render(request, 'error.html', data)

        data['success'] = 'Success!'
        return render(request, 'error.html', data)

return render(request, 'accounts/login.html', data)

如果我正在执行get请求(使用此视图打开url),就可以了。但是,如果我执行POST,它将返回空白页面,没有任何html代码。当我检查uwsgi日志时,有:

<form name='formAuth' action='' method='POST'>
    {% csrf_token %}
    <input type='text' name='login' required='required'>
    <input type='password' name='password' required='required'>
    <input type='submit'>
</form>

是的,站点包含西里尔文字,但是在我的本地计算机上还可以。 我认为,此问题与服务器设置有关。

请帮助)

p.s。安装西里尔语言区域,nginx编码为utf-8

0 个答案:

没有答案