Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I'm trying to create a login form with Django. I'm creating a view witch will handle both get and post requests for login.

Here how i designed it:

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

I can get this form, but when i post i am getting:

'WSGIRequest' object has no attribute 'get'

Error. What is the correct way to design such views?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
2.5k views
Welcome To Ask or Share your Answers For Others

1 Answer

You should use the request.POST dict-like object:

username = request.POST.get('username','')
password = request.POST.get('password','')

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...