Python 这个小应用程序在virtualenv的桌面上工作,但在Heroku上间歇性失败

Python 这个小应用程序在virtualenv的桌面上工作,但在Heroku上间歇性失败,python,flask,heroku,Python,Flask,Heroku,我使用Python和Flask的小型计算器应用程序在本地桌面上运行良好,但当我部署到Heroku时,它可以很好地进行3-6次计算,然后给出“内部服务器错误”。按下“后退”按钮有时会允许进行更多的计算,但随后错误再次发生。我已经在iPhone、Windows桌面和iPad上进行了测试(所有这些我弟弟都需要工作) 应用程序地址: GitHub用于应用程序的代码和文件(我通过GitHub部署应用程序): Heroku日志文件文本: 2020-08-23T18:08:44.907813+00:00 ap

我使用Python和Flask的小型计算器应用程序在本地桌面上运行良好,但当我部署到Heroku时,它可以很好地进行3-6次计算,然后给出“内部服务器错误”。按下“后退”按钮有时会允许进行更多的计算,但随后错误再次发生。我已经在iPhone、Windows桌面和iPad上进行了测试(所有这些我弟弟都需要工作)

应用程序地址:

GitHub用于应用程序的代码和文件(我通过GitHub部署应用程序):

Heroku日志文件文本:

2020-08-23T18:08:44.907813+00:00 app[web.1]:     return self.view_functions[rule.endpoint](**req.view_args)
2020-08-23T18:08:44.907814+00:00 app[web.1]:   File "/app/board-feet.py", line 33, in CalculateNum
2020-08-23T18:08:44.907814+00:00 app[web.1]:     total = total
2020-08-23T18:08:44.907814+00:00 app[web.1]: NameError: name 'total' is not defined
2020-08-23T18:08:44.909289+00:00 app[web.1]: 10.150.246.196 - - [23/Aug/2020:18:08:44 +0000] "POST / HTTP/1.1" 500 290 "https://woodcraft-bfc.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36"
2020-08-23T18:08:44.911275+00:00 heroku[router]: at=info method=POST path="/" host=woodcraft-bfc.herokuapp.com request_id=8449a472-b1e2-4ca1-b800-6f1bf598634d fwd="69.244.31.219" dyno=web.1 connect=0ms service=15ms status=500 bytes=470 protocol=https
2020-08-23T18:08:48.115993+00:00 app[web.1]: fill in all fields
2020-08-23T18:08:48.116195+00:00 app[web.1]: 96   9   1
2020-08-23T18:08:48.117883+00:00 app[web.1]: 10.150.246.196 - - [23/Aug/2020:18:08:48 +0000] "POST / HTTP/1.1" 200 3642 "https://woodcraft-bfc.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36"
2020-08-23T18:08:48.119712+00:00 heroku[router]: at=info method=POST path="/" host=woodcraft-bfc.herokuapp.com request_id=e4199448-07a5-426a-90c4-2c25bb862175 fwd="69.244.31.219" dyno=web.1 connect=0ms service=4ms status=200 bytes=3884 protocol=https
2020-08-23T18:10:30.586204+00:00 heroku[router]: at=info method=POST path="/" host=woodcraft-bfc.herokuapp.com request_id=784a2f0e-91db-4e12-8e29-6521cacc21a1 fwd="69.244.31.219" dyno=web.1 connect=18ms service=13ms status=200 bytes=3889 protocol=https
2020-08-23T18:10:30.574701+00:00 app[web.1]: fill in all fields
2020-08-23T18:10:30.574857+00:00 app[web.1]: 96   9   1
2020-08-23T18:10:30.576635+00:00 app[web.1]: 10.9.251.250 - - [23/Aug/2020:18:10:30 +0000] "POST / HTTP/1.1" 200 3647 "https://woodcraft-bfc.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36"
2020-08-23T18:10:47.438566+00:00 app[web.1]: fill in all fields
2020-08-23T18:10:47.438807+00:00 app[web.1]: 144   25   3.25

感谢您提供的任何见解。

尝试对共享状态使用
global
,sorta在开发环境中工作,但在部署应用程序以在多个进程中运行时失败。在您的情况下,POST被路由到与执行GET time初始化的进程不同的进程


跨请求持久化状态的常用方法是磁盘上的文件、浏览器会话和某种风格的数据库。

请将代码作为问题的一部分。链接到的代码可能会更改或链接可能会过时。这两种方法都会破坏stackoverflow的目的,即为反馈建立问题和答案库。这是有道理的。我将研究如何用不同的方法实现计算器来收集输入。