【问题标题】:How do I fix this Gets server error, which is causing display issues?如何修复导致显示问题的 Gets 服务器错误?
【发布时间】:2019-06-05 19:27:43
【问题描述】:

ontariocourts311.ca 左栏中的列表以及图像下的页面正文间歇性无法显示(通过刷新页面“修复”)。我是一个菜鸟,并且尝试了各种版本的 return 语句,但都没有成功。

错误:

2019-06-05 16:39:26,765: Exception on / [GET]
Traceback (most recent call last):
  File "flask/app.py", line 2311, in wsgi_app
    response = self.full_dispatch_request()
  File "flask/app.py", line 1834, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "flask/app.py", line 1737, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "flask/_compat.py", line 36, in reraise
    raise value
  File "flask/app.py", line 1832, in full_dispatch_request
    rv = self.dispatch_request()
  File "flask/app.py", line 1818, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/mlesage/mysite/Court/application.py", line 40, in home
    complaints = db.execute("SELECT User_Complaint, Date, Review_Title FROM Posts")
  File "cs50/sql.py", line 224, in execute
    raise e
RuntimeError: (MySQLdb._exceptions.OperationalError) (2013, 'Lost connection to MySQL server during query')
[SQL: SELECT User_Complaint, Date, Review_Title FROM Posts]
(Background on this error at: http://sqlalche.me/e/e3q8)

from cs50 import SQL
from helpers import contacts # (a list of people stored in helpers)

# Configure db to mySQL database
db = SQL("mysql://user.mysql.pythonanywhere-services.com:3306/user$User_Reviews")
#timeout = db.execute(con.query('SET GLOBAL connect_timeout=6000'))

@app.route("/", methods=["GET", "POST"])
def home():
    reviews = [list of reviews, pulled from db, for display on page] 

    if request.method == "POST": 

        if User_Complaint != None:
            return redirect ('/')
            #return redirect(url_for('home', reviews = reviews, contacts = contacts))
        else:
            return render_template("home.html", reviews = reviews, contacts = contacts)

    # GETS METHOD
    else: 
        return render_template("home.html", reviews = reviews, contacts = contacts)   

无论使用GETS还是POST方法,页面元素都应该一致地显示(即左侧人员列表、页面中心的评论和文本框)。

【问题讨论】:

  • 在webpagetest.org上测试页面经常会出现错误
  • 请添加整个回溯(在代码块内以便可读)。
  • 我将错误内联到帖子中。回溯指向您尚未在此处发布的应用程序的一部分,因此很难仅提供我们所拥有的帮助。

标签: python flask jinja2


【解决方案1】:

看起来问题与 MySQL 没有可用的打开连接有关,这似乎已通过对以下行的轻微修改得到修复:

db = SQL("mysql://user:password.mysql.pythonanywhere-services.com:3306/user$User_Reviews", pool_recycle = 280)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-20
    • 2022-07-25
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多