'WSGIRequest'对象没有属性'get'

Sef*_*efa 7 django python-2.7

我正在尝试使用Django创建一个登录表单.我正在创建一个视图女巫将处理get和post登录请求.

我在这里如何设计它:

class Login(View):
    def get(self,request):
        c = {}
        c.update(csrf(request))
        return render_to_response("login.html", c)
    def post(self,request):
        username = request.get('username','')
        password = request.get('password','')
        user = auth.authenticate(username = username, password = password)
        if(user is not None):
            auth.login(request,user)
            return True
        else:
            return False
Run Code Online (Sandbox Code Playgroud)

我可以得到这个表格,但当我发布我得到:

'WSGIRequest' object has no attribute 'get'
Run Code Online (Sandbox Code Playgroud)

错误.设计此类视图的正确方法是什么?

cat*_*ran 13

你应该使用request.POST类似dict的对象:

username = request.POST.get('username','')
password = request.POST.get('password','')
Run Code Online (Sandbox Code Playgroud)


小智 5

您应该将其用于 Get 方法,否则使用 Post 作为 python 3 中的 post 方法

  username = request.GET.get('username','')
  password = request.GET.get('password','')
Run Code Online (Sandbox Code Playgroud)

  • 欢迎,@Chirag Sukhwani。它似乎不相关,因为已经有一个现有的答案。/sf/answers/1996085591/ (2认同)