Çözüldü Python Flask Hata

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Mesaj gönderimine kapalı.

umut efe AL

Hectopat
Katılım
15 Mayıs 2020
Mesajlar
49
Ben Python ile Flask'ı kütüphanesini kullandığım ve önceden çalışan kodum şimdi aşağıdaki gibi hata veriyor. Lütfen yardım.
Screen Shot 8.9.2020 at 20.21.png
 
Çözüm
Attığınız kodda 74, oradaki hata 79 yani şurada:

Ekran Alıntısı.PNG


session["logged_in"] kullanımı yanlış olmuş. Ya yanlış yerleştirme yaptınız ya da eksik kod yazdınız.
Kodu paylaşır mısnız, burada, kod bloğunu kullanarak.
Python:
from flask import Flask,render_template,flash,redirect,url_for,session,logging,request
from flask_mysqldb import MySQL
from wtforms import Form,StringField,TextAreaField,PasswordField,validators
from passlib.hash import sha256_crypt
from functools import wraps



app = Flask(__name__)
app.secret_key = "anasayfa"
app.config["MYSQL_HOST"] = "localhost"
app.config["MYSQL_USER"] = "root"
app.config["MYSQL_PASSWORD"] = ""
app.config["MYSQL_DB"] = "mesaj proje"
app.config["MYSQL_CURSORCLASS"] = "DictCursor"
mysql = MySQL(app)

class register_form(Form):
    name = StringField("İsim Soyisim:",validators=[validators.length(min = 4 ,max = 25)])
    username = StringField("kullanıcı adı:",validators=[validators.length(min = 4 ,max = 25)])
    email = StringField("email adresi:",validators=[validators.Email(message="lütfen geçerli bir email adresi giriniz.")])

    password = PasswordField("şifre",validators=[
        validators.DataRequired(message = "lütfen bir parola giriniz."),
        validators.EqualTo(fieldname = "confirm",message = "parolanız uyuşmuyor")


    ])
    confirm = PasswordField("parola doğrula.")
class loginform(Form):
    username = StringField("kullanıcı adı :")
    password = PasswordField("sifre:")

class asdform(Form):
    username = StringField(" ")
    password = PasswordField(" ")


class search(Form):
    username = StringField("")

def login_required(f):
    @wraps(f)
    def decorated_function(*args, **kwargs):
        if "logged_in" in session:
           
            return f(*args, **kwargs)
        else:
            flash("Bu sayfa görüntülenemiyor lütfen önce giriş yapını","danger")
            return redirect(url_for("login"))  
    return decorated_function

@app.route("/register",methods = ["GET","POST"])
def register():
    form = register_form(request.form)

    if request.method == "POST" and form.validate():
        name = form.name.data
        username = form.username.data
        email = form.email.data
        password = sha256_crypt.encrypt(form.password.data)
        cursor = mysql.connection.cursor()
        sorgu = "Insert into users(name,username,email,password) VALUES(%s,%s,%s,%s)"
        cursor.execute(sorgu,(name,username,email,password))
        mysql.connection.commit()
        cursor.close()
        flash('başarılı kayıt olundu.', 'success')

        return redirect(url_for("anasayfa"))

    else:  
        return render_template("register.html",form=form)

session["logged_in"]
@app.route("/login",methods = ["GET","POST"])
def login():
    form = loginform(request.form)
    if request.method == "POST" and form.validate():
        username = form.username.data
        password_entered = form.password.data
        cursor = mysql.connection.cursor()
        sorgu = "Select * From users where username = %s"
        result = cursor.execute(sorgu,(username,))
        if result > 0:
            data = cursor.fetchone()
            real_password = data["password"]
            if sha256_crypt.verify(password_entered,real_password):
                flash("başarıyla giriş yaptınız...","success")
                session["logged_in"] = True
                session["username"] = username
 
               
               
                return redirect(url_for("anasayfa"))
            else:
                flash("parolanız yanlış...","danger")
                return redirect(url_for("login"))
        else:
            flash("böyle bir kullanıcı bulunmuyor....","danger")
            return redirect(url_for("login"))  

    else:  
        return render_template("login.html",form=form)  

@app.route("/logout")
def logout():
    session.clear()
    return redirect(url_for("login"))
@app.route("/User-grid")
@login_required
def User_grid():
    cursor = mysql.connection.cursor()
    sorgu = "Select * from users"
    result = cursor.execute(sorgu)
    users = cursor.fetchall()
    return render_template("User_grid.html",articles=users)



@app.route("/",methods = ["GET","POST"])
@login_required
def anasayfa():
    if request.method == "POST":
        cursor = mysql.connection.cursor()
        sorgu = "Insert into içerikler(paylaşan,içerik) VALUES(%s,%s)"
        içerik = request.form.get('içerik')
        cursor.execute(sorgu,(session["username"],içerik))
        mysql.connection.commit()
        cursor.close()
        return redirect(url_for("anasayfa"))                  
    else:
       
       
        cursor = mysql.connection.cursor()
        sorgu = "Select * From users where username = %s"
        result = cursor.execute(sorgu,(session["username"],))
        full = cursor.fetchone()
        fullname = full["name"]
        cursor = mysql.connection.cursor()
        sorgu2 = "Select * From içerikler"
        result = cursor.execute(sorgu2,)
        iç = cursor.fetchall()
        return render_template("anasayfa.html",name = fullname,içerikler = iç)
       

           

@app.route("/<string:id>",methods = ["GET","POST"])
@login_required
def brt(id):
    form = asdform(request.form)
    cursor = mysql.connection.cursor()
    sorgu = "Select * from users"
    result = cursor.execute(sorgu)
    if request.method == "POST":
        mesaj = form.username.data
        cursor = mysql.connection.cursor()
        sorgu = "Insert into mesajlar(kimden,kime,içerik) VALUES(%s,%s,%s)"
        cursor.execute(sorgu,(session["username"],id,mesaj))
        mysql.connection.commit()
        cursor.close()
        return redirect("/"+id)
    else:
        articles = cursor.fetchall()
        cursor = mysql.connection.cursor()
        sorgu = "Select * from mesajlar"
        result = cursor.execute(sorgu)
        mesajlar = cursor.fetchall()
         
        return render_template("html.html",form=form,articles=articles,id=id,mesajlar=mesajlar)
@app.route("/")
def anasayfa1():
    return render_template("anasayfa.html")
if __name__ == "__main__":

    app.run(debug=True)
 
Attığınız kodda 74, oradaki hata 79 yani şurada:

Ekran Alıntısı.PNG


session["logged_in"] kullanımı yanlış olmuş. Ya yanlış yerleştirme yaptınız ya da eksik kod yazdınız.
 
Çözüm
Durum
Mesaj gönderimine kapalı.

Technopat Haberler

Geri
Yukarı