Pythonanywhere MySql Bağlantısını Beceremedim

Merhabalar Bu Aşağı Bırakacağım Koddaki 39. Satırdan İtibaren olan mysql bağlantısı interval server error veriyor sorun ne olabilir acaba?

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,EmailField
from passlib.hash import sha256_crypt
from functools import wraps
tik = True
inputbox = [False,-1]
app = Flask(__name__)



def login_required(f):
    @wraps(f)
    def decorated_function(*args, **kwargs):
        if session.get("username",None) is None:
            flash("Çıkış Yapman İçin Giriş Yapmalısın!","danger")
            return redirect(url_for("index"))
        return f(*args, **kwargs)
    return decorated_function
def login_required2(f):
        @wraps(f)
        def decorated_function(*args, **kwargs):
            if session.get("username",None) is not None:
                flash("Giriş Yapmak Veya Kayıt Olmak İçin Çıkış Yapmalısın!","danger")
                return redirect(url_for("index"))
            return f(*args, **kwargs)
        return decorated_function
def login_required3(f):
        @wraps(f)
        def decorated_function(*args, **kwargs):
            if session.get("username",None) is None:
                flash("Bu Sayfayı Görüntülemek İçin Giriş Yap","danger")
                return redirect(url_for("login"))
            return f(*args, **kwargs)
        return decorated_function

app.secret_key = "QhfN4bP6Evc72pTHB3wDJx"

app.config["MYSQL_HOST"] = "sefaAydin.mysql.pythonanywhere-services.com"
app.config["MYSQL_USER"] = "sefaAydin"
app.config["MYSQL_PASSWORD"] = "06102011Sa"
app.config["MYSQL_DB"] = "sefaAydin$sefablog"
app.config["MYSQL_CURSORCLASS"] = "DictCursor"

mysql = MySQL(app)







class RegisterForm(Form):
    name = StringField("İsim",validators=[validators.Length(min=3,max=30),validators.DataRequired()])
    username = StringField("Kullanıcı İsmi",validators=[validators.Length(min=3,max=30),validators.DataRequired()])
    email = EmailField("Email",validators=[validators.DataRequired(),validators.Email()])
    password = PasswordField("Şifreniz",validators=[validators.DataRequired(),validators.Length(min=7,max=30)])
    passwordre = PasswordField("Şifre Tekrar",validators=[validators.EqualTo("password",message="Şifreler Uyuşmuyor")])

class LoginForm(Form):
    username = StringField("Kullanıcı İsmi",validators=[validators.DataRequired(),validators.Length(min=3,max=30)])
    password = PasswordField("Şifreniz",validators=[validators.DataRequired(),validators.Length(7,30)])

class ArticleForum(Form):
    title = StringField("Başlık",validators=[validators.DataRequired(),validators.Length(min=2,max=100)])
    content = TextAreaField("Makaleniz",validators=[validators.DataRequired()])

class CommentForm(Form):
    content = TextAreaField("Yorumunuz",validators=[validators.DataRequired(),validators.Length(min=5,max=100)])




@app.route("/")
def index():
    return render_template("index.html",tik = tik)

@app.route("/about")
def about():
    return render_template("about.html")
@app.route("/articles")
def articles():

    conn = mysql.connection
    cursor = conn.cursor()
    sorgu = "SELECT *FROM articles"
    result = cursor.execute(sorgu)

    sorgu = "INSERT INTO articles(author,content,title) VALUES(%s,%s,%s)"

    if (result > 0):
        data = cursor.fetchall()

        return render_template("articles.html",articles = data)
    return render_template("articles.html",articles = None)

@app.route("/projects")
def projects():
    return render_template("projects.html")
@app.route("/documents")
def documents():
    return render_template("documents.html")



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

    if (request.method == "POST" and form.validate()):

        cursor = mysql.connection.cursor()
        sorgu = "INSERT INTO kullanicilar(name,username,email,password) VALUES(%s,%s,%s,%s)"
        shapassword = sha256_crypt.encrypt(form.password.data)
        cursor.execute(sorgu,(form.name.data,form.username.data,form.email.data,shapassword))
        mysql.connection.commit()
        cursor.close()
        flash("Başarıyla Kayıt Oldunuz!","success")

        return redirect(url_for("login"))

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



@app.route("/login",methods = ["GET","POST"])
@login_required2
def login():
    form = LoginForm(request.form)

    if (request.method == "POST" and form.validate()):
        entered_username = form.username.data
        entered_password = form.password.data
        cursor = mysql.connection.cursor()
        sorgu = "SELECT *FROM kullanicilar WHERE username = %s"
        result = cursor.execute(sorgu,(entered_username,))

        if (result > 0):
            data = cursor.fetchone()
            real_password = data["password"]
            if (sha256_crypt.verify(entered_password,real_password)):
                session["username"] = entered_username
                session["logged_in"] = True
                flash("Başarıyla Giriş Yaptınız!","success")
                return redirect(url_for("index"))
            else:
                flash("Parolanızı Yanlış Girdiniz!","danger")
                return redirect(url_for("login"))
        else:
            flash("Böyle Bir Kullanıcı Bulunmuyor","danger")
            return redirect(url_for("login"))


    return render_template("login.html",form = form)
@app.route("/exit")
@login_required
def log_out():
    session["username"] = None
    session["logged_in"] = False

    return redirect(url_for("index"))

@app.route("/addarticle", methods=["GET", "POST"])
@login_required3
def addarticle():
    form = ArticleForum(request.form)

    if request.method == "POST":
        if form.validate():
            cursor = mysql.connection.cursor()
            sorgu = "INSERT INTO articles(author, content, title) VALUES(%s, %s, %s)"
            cursor.execute(sorgu, (session["username"], form.content.data, form.title.data))
            mysql.connection.commit()
            cursor.close()
            flash("Makaleniz Yayınlandı!", "success")
            return redirect(url_for("controlpanel"))
        else:
            flash("Bir Şeyleri Eksik Girmiş Olabilirmisin?", "danger")

    return render_template("addarticle.html", form=form)

@app.route("/article/<string:id>")
def articleview(id):
    cursor = mysql.connection.cursor()
    sorgu = "SELECT *FROM articles WHERE id = %s"
    result = cursor.execute(sorgu,(id,))
    sorgu2 = "SELECT *FROM comments WHERE article_id = %s"

    if (result > 0):
        data = cursor.fetchone()

        result2 = cursor.execute(sorgu2,(id,))
        return render_template("articleview.html",article = data,comments = cursor.fetchall(),inputbox = inputbox)

    else:
        flash("Aradığın Makale Mevcut Değil","warning")
        return redirect(url_for("index"))

@app.route("/article/delete/<string:id>")
@login_required3
def deletearticle(id):
    cursor = mysql.connection.cursor()
    username = session["username"]
    sorgu = "SELECT *FROM articles WHERE id = %s AND author = %s"
    result = cursor.execute(sorgu,(id,username))
    if (result > 0):
        sorgu2 = "DELETE FROM articles WHERE id = %s AND author = %s"
        cursor.execute(sorgu2,(id,username))
        mysql.connection.commit()
        cursor.close()
        flash("Makaleniz Başarıyla Silindi","success")
        return redirect(url_for("controlpanel"))

    else:
        flash("Bu Makale Mevcut Değil Veya Bu İşlemi Yapmaya Yetkiniz Yok","warning")
        return redirect(url_for("index"))

@app.route("/article/update/<string:id>",methods = ["GET","POST"])
def updatearticle(id):
    form = ArticleForum(request.form)
    username = session["username"]
    cursor = mysql.connection.cursor()
    sorgu = "SELECT *FROM articles WHERE id = %s AND author = %s"
    result = cursor.execute(sorgu,(id,username))



    if (request.method == "POST"):
        if (form.validate()):
            sorgu2 = "UPDATE articles SET title = %s, content = %s WHERE id = %s AND author = %s"
            cursor.execute(sorgu2,(form.title.data,form.content.data,id,username))
            mysql.connection.commit()
            cursor.close()


            flash("Makaleniz Başarıyla Güncellendi!","success")
            return redirect(url_for("controlpanel"))
        else:
            flash("Lütfen Tüm Alanları Doldurduğunuzdan Emin Olun!","danger")
            return redirect(url_for(f"/article/update/{id}"))


    if (result > 0):
        data = cursor.fetchone()
        form.title.data = data["title"]
        form.content.data = data["content"]
        return render_template("updatearticle.html",form = form)

    else:
        flash("Aradığınız Makale Mevcut Değil Veya Bu İşlemi Yapmaya Yetkiniz Yok","warning")
        return redirect(url_for("index"))


@app.route("/search",methods = ["GET","POST"])
def search_method():

    if (request.method == "GET"):
        return redirect(url_for("articles"))
    if (request.method == "POST"):
        keyword = request.form.get("keyword")
        cursor = mysql.connection.cursor()
        sorgu = "SELECT *FROM articles WHERE title LIKE '%" + keyword + "%'"
        result = cursor.execute(sorgu)
        if (result > 0):
            data = cursor.fetchall()
            return render_template("articles.html",articles=data)
        else:
            flash("Aradığınız Başlığa Uygun Makale Bulunmuyor","warning")
            return redirect(url_for("articles"))


@app.route("/controlpanel",methods = ["GET","POST"])
@login_required3
def controlpanel():

    cursor = mysql.connection.cursor()
    sorgu = "SELECT *FROM articles WHERE author = %s"
    result = cursor.execute(sorgu,(session["username"],))

    if (result > 0):
        data = cursor.fetchall()
        cursor.close()
        return render_template("control.html",article = data)
    else:
        return render_template("control.html",article = None)

@app.route("/addcomment/<string:id>",methods = ["GET","POST"])
@login_required3
def add_comment(id):
    cursor = mysql.connection.cursor()
    sorgu = "SELECT *FROM articles WHERE id = %s"
    result = cursor.execute(sorgu,(id,))
    username = session["username"]
    if (request.method == "POST"):
        if (result > 0):
            data = request.form.get("comment")
            if (len(data) > 100):
                flash("Yorum Boyutu Maximum 100 Karakter Olabilir!","danger")
                return redirect(url_for("articleview",id=id))
            sorgu2 = "INSERT INTO comments(content,username,article_id) VALUES(%s,%s,%s)"
            cursor.execute(sorgu2,(data,username,id))
            mysql.connection.commit()
            cursor.close()
            flash("Yorumunuz Başarıyla Eklendi!","success")
            return redirect(url_for("articleview",id=id))





        else:
            flash("Yorum Yapmaya Çalıştığınız Makale Mevcut Değil!","warning")
            return redirect(url_for("articles"))
    return redirect(url_for("articleview",id=id))


@app.route("/delete/comment/<string:id>")
@login_required3
def delete_comment(id):
    cursor = mysql.connection.cursor()
    sorgu = "SELECT *FROM comments WHERE id = %s AND username = %s"
    result = cursor.execute(sorgu,(id,session["username"]))
    if (request.method == "GET"):
        if (result > 0):
            data = cursor.fetchone()
            sorgu2 = "DELETE FROM comments WHERE id = %s AND username = %s"
            cursor.execute(sorgu2,(id,session["username"]))
            mysql.connection.commit()
            cursor.close()
            flash("Yorumunuz Başarıyla Silindi!","success")
            return redirect(url_for("articleview",id=data["article_id"]))
        flash("Bu Yorum Mevcut Değil Veya Bu İşlemi Yapmaya Yetkiniz Yok!","danger")
        return redirect(url_for("index"))

    else:
        flash("Bu Yorum Mevcut Değil Veya Bu İşlemi Yapmaya Yetkiniz Yok!","danger")
        return redirect(url_for("index"))




@app.route("/response_comment/<string:id>",methods = ["GET","POST"])
@login_required3
def response_comment(id):

    global inputbox
    cursor = mysql.connection.cursor()
    sorgu = "SELECT *FROM comments WHERE id = %s AND username = %s"
    result = cursor.execute(sorgu,(id,session.get("username")))
    data = cursor.fetchone()

    if (request.method == "POST"):
        if (inputbox):
            sorgu2 = "INSERT INTO comments(content,username,response_user,article_id) VALUES(%s,%s,%s,%s)"
            sorgu3 = "SELECT *FROM comments WHERE id = %s"
            result2 = cursor.execute(sorgu3,(id,))
            if (result2 > 0):
                data = cursor.fetchone()
                if (request.form.get("response_content")):
                    cursor.execute(sorgu2,(request.form.get("response_content"),session["username"],id,data["article_id"]))

                mysql.connection.commit()
                cursor.close()
            else:
                flash("Yanıtlamaya Çalıştığınız Yorum Mevcut Değil!","warning")
                inputbox[0] = False
                inputbox[1] = -1
                return redirect(url_for("articleview",id=data["article_id"]))
        inputbox[0] = not inputbox[0]
        inputbox[1] = data["id"]
        return redirect(url_for("articleview",id=data["article_id"],inputbox=inputbox))
    else:
        flash("Bir Yanlışlık Oldu Sanırım?","danger")
        return redirect(url_for("index"))



@app.errorhandler(404)
def error404(error):
    return render_template("error.html")







if __name__ == "__main__":
    app.run(debug=True)