2016-03-30 27 views
-1

Oturum açma/şifre/kullanıcı oturumu hakkında bilgi edinmeye çalışıyorum. Bu bağlantıyı buldum ve sağladığınız kodu anlamaya çalışıyorum (sayfanın en altında, en büyük kod parçası).flask - kullanıcı girişi (login/şifre) python değişkenine göre

http://thecircuitnerd.com/flask-login-tokens/

bağlantı login.html dosyasının olsa da, içindekileri sağlamaz. Şimdiye kadar, şişelerde formları işleme biçimim, render_template işlevine, her bir python değişkenine hangi kullanıcı girdilerinin atfedileceğini belirtmemi gerektiriyor. Ancak yazar bunu yapmadığı için, kullanıcı girişini alma yönteminin bundan farklı olması gerektiğini düşünüyorum.

@app.route("/login/", methods=["GET", "POST"]) 
def login_page(): 
    """ 
    Web Page to Display Login Form and process form. 
    """ 
    if request.method == "POST": 
     user = User.get(request.form['username']) 

     #If we found a user based on username then compare that the submitted 
     #password matches the password in the database. The password is stored 
     #is a slated hash format, so you must hash the password before comparing 
     #it. 
     if user and hash_pass(request.form['password']) == user.password: 
      login_user(user, remember=True) 
      return redirect(request.args.get("next") or "/")   

    return render_template("login.html") 

olacağını Bunu yapmanın en kolay yolu: kodda giriş rota işleyicisi bakarsak

+0

Tam olarak ne sorduğunuzu açıklamak değil - '/ login 'rota işleyicisinin kullanıcı adı ve parola nasıl aldığını merak ediyor musunuz? –

+0

"Ne sorduğunuzu tam olarak açıklamıyorsunuz -/login rota işleyicisinin kullanıcı adı ve şifresini nasıl aldığını merak ediyor musunuz?" doğru @SeanVieira –

cevap

1

Eğer bu iki değişken, 'username' ve 'password' çıkmak request.form kullandığını göreceksiniz bağlantılı aşağıdaki HTML: Bu kullanıcı adını tekrar doldurulmaz

<form action="/login/" method="POST"> 
    <input name="username" placeholder="username"> 
    <input type="password" name="password" placeholder="password"> 
    <input type="submit" value="Login"> 
</form> 

eğer kullanıcı yanlış türleri kendi kullanıcı adı veya şifre, ne de kullanıcıya onlar giriş başarısız olanlar da fikir verecektir. Sadece giriş formunu tekrar görecekler. Bununla birlikte, bu sadece bir örnek kod,, bu yüzden yazar, yapmaya çalıştığı noktayı gizleyecek kullanışlı kod dışarıda bırakmayı seçtiği anlaşılabilir.

+0

Bu mekanizmaları daha iyi anlamama yardımcı olacak herhangi bir bağlantınız var mı? teşekkür ederim @seanvieira –

İlgili konular