Python 烧瓶GAE应用程序提供错误
我创建了一个flask应用程序,它在Pythonywhere上运行良好,但当我在google应用程序引擎上部署它时,它的给出错误了 这是我的密码Python 烧瓶GAE应用程序提供错误,python,google-app-engine,flask,jinja2,Python,Google App Engine,Flask,Jinja2,我创建了一个flask应用程序,它在Pythonywhere上运行良好,但当我在google应用程序引擎上部署它时,它的给出错误了 这是我的密码 from flask import Flask, request, session, redirect,url_for,render_template,flash,abort import jinja2 import os jinja_environment = jinja2.Environment(autoescape=True, loade
from flask import Flask, request, session, redirect,url_for,render_template,flash,abort
import jinja2
import os
jinja_environment = jinja2.Environment(autoescape=True,
loader=jinja2.FileSystemLoader(os.path.join(os.path.dirname(__file__), 'templates')))
app = Flask(__name__)
app.config["DEBUG"] = True
@app.route('/', methods=['POST', 'GET'])
def emi():
if request.method == 'POST':
p =int(request.form['enternumber1'])
r=float(request.form['enternumber2'])
R=(r/12)/100
N =int(request.form['enternumber3'])
Dp =int(request.form['enternumber4'])
P=p-Dp
B=(1+R)**N
I=(B)/(B-1)
EMI1 = (P) * (R) * (I)
EMI="%.2f" %(EMI1)
TAP1=EMI1*N
TAP="%.2f" %(TAP1)
TI=TAP1-P
TI="%.2f" %(TI)
return render_template('index.html', EMI=EMI,TAP=TAP,TI=TI,P=P,r=r,N=N,Dp=Dp)
return render_template('index.html')
这是我的app.yaml代码
application: aapkatool
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /.*
script: initialize.app
libraries:
- name: jinja2
version: "2.6"
- name: markupsafe
version: "latest"
下面是initialize.py代码
from google.appengine.ext.webapp.util import run_wsgi_app
from main import app
run_wsgi_app(app)
这是完全的错误
Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\google\appengine\runtime\wsgi.py", line 267, in Handle
result = handler(dict(self._environ), self._StartResponse)
File "C:\Python27\ageapp\flask\app.py", line 1701, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Python27\ageapp\flask\app.py", line 1685, in wsgi_app
with self.request_context(environ):
File "C:\Python27\ageapp\flask\app.py", line 1646, in request_context
return RequestContext(self, environ)
File "C:\Python27\ageapp\flask\ctx.py", line 186, in __init__
self.match_request()
File "C:\Python27\ageapp\flask\ctx.py", line 204, in match_request
self.url_adapter.match(return_rule=True)
File "C:\Python27\ageapp\werkzeug\werkzeug\routing.py", line 1423, in match
raise NotFound()
NotFound: 404: Not Found
INFO 2016-10-12 15:13:03,801 module.py:788] default: "GET /favicon.ico HTTP/1.1" 500 -
ERROR 2016-10-12 09:43:46,542 wsgi.py:279]
Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\google\appengine\runtime\wsgi.py", line 267, in Handle
result = handler(dict(self._environ), self._StartResponse)
File "C:\Python27\ageapp\flask\app.py", line 1701, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Python27\ageapp\flask\app.py", line 1689, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "C:\Python27\ageapp\flask\app.py", line 1687, in wsgi_app
response = self.full_dispatch_request()
File "C:\Python27\ageapp\flask\app.py", line 1360, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Python27\ageapp\flask\app.py", line 1358, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Python27\ageapp\flask\app.py", line 1344, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\Python27\ageapp\main.py", line 13, in age2
p =int(request.form['enternumber1'])
File "C:\Python27\ageapp\werkzeug\werkzeug\local.py", line 336, in __getattr__
return getattr(self._get_current_object(), name)
File "C:\Python27\ageapp\werkzeug\werkzeug\utils.py", line 77, in __get__
value = self.func(obj)
File "C:\Python27\ageapp\werkzeug\werkzeug\wrappers.py", line 383, in form
self._load_form_data()
File "C:\Python27\ageapp\flask\wrappers.py", line 129, in _load_form_data
RequestBase._load_form_data(self)
File "C:\Python27\ageapp\werkzeug\werkzeug\wrappers.py", line 318, in _load_form_data
data = parser.parse_from_environ(self.environ)
File "C:\Python27\ageapp\werkzeug\werkzeug\formparser.py", line 164, in parse_from_environ
return self.parse(stream, mimetype, content_length, options)
File "C:\Python27\ageapp\werkzeug\werkzeug\formparser.py", line 188, in parse
content_length, options)
File "C:\Python27\ageapp\werkzeug\werkzeug\formparser.py", line 98, in wrapper
return f(self, stream, *args, **kwargs)
File "C:\Python27\ageapp\werkzeug\werkzeug\formparser.py", line 209, in _parse_urlencoded
errors=self.errors, cls=self.cls)
File "C:\Python27\ageapp\werkzeug\werkzeug\urls.py", line 278, in url_decode_stream
include_empty, errors))
File "C:\Python27\ageapp\werkzeug\werkzeug\datastructures.py", line 330, in __init__
for key, value in mapping or ():
File "C:\Python27\ageapp\werkzeug\werkzeug\urls.py", line 283, in _url_decode_impl
for pair in pair_iter:
File "C:\Python27\ageapp\werkzeug\werkzeug\wsgi.py", line 670, in make_chunk_iter
stream = make_limited_stream(stream, limit)
File "C:\Python27\ageapp\werkzeug\werkzeug\wsgi.py", line 579, in make_limited_stream
raise TypeError('stream not limited and no limit provided.')
TypeError: stream not limited and no limit provided.
INFO 2016-10-12 15:13:46,665 module.py:788] default: "POST / HTTP/1.1" 500 -
please help me why it is giving error.
谢谢在和上的部署中是否都定义了
计算
功能?我在浏览器中看到的唯一错误是:
(index):145 Uncaught ReferenceError: calculate is not defined
onclick @ (index):145
我看不出
计算
函数是在哪里定义的。是在和上的部署中定义的计算
函数吗?我在浏览器中看到的唯一错误是:
(index):145 Uncaught ReferenceError: calculate is not defined
onclick @ (index):145
我看不出
计算函数是在哪里定义的。我不知道为什么您甚至有initialize.py
文件。看起来你不需要它。包文档声明它适用于不推荐使用的Python2.5环境,并且您正确地使用了Python2.7
将app.yaml
的脚本处理程序改为指向main.app
删除initialize.py
重新部署或者更好,在本地测试您的代码,这样您就可以在不需要重新部署的情况下看到确切的错误代码。如果仅在部署的版本上发生,请进入并展开失败的请求,以查看需要修复的错误代码和问题代码
可以找到一个带有烧瓶的示例初学者项目,该项目也在中引用。另外,如果还没有,请获取您的文件。我不知道为什么您甚至有initialize.py
文件。看起来你不需要它。包文档声明它适用于不推荐使用的Python2.5环境,并且您正确地使用了Python2.7
将app.yaml
的脚本处理程序改为指向main.app
删除initialize.py
重新部署或者更好,在本地测试您的代码,这样您就可以在不需要重新部署的情况下看到确切的错误代码。如果仅在部署的版本上发生,请进入并展开失败的请求,以查看需要修复的错误代码和问题代码
可以找到一个带有烧瓶的示例初学者项目,该项目也在中引用。如果还没有,请获取您的错误信息。似乎正在工作,错误是什么?请单击“计算”,然后它将显示错误错误:服务器错误服务器遇到错误,无法完成您的请求。请在30秒后重试。相同的代码在本地开发服务器上正常工作,如果它在本地开发服务器上正常工作或不工作,则您没有评论。它在本地开发服务器上不工作似乎正常工作,错误是什么?请单击“计算”,然后它将显示错误错误:服务器错误服务器遇到错误,无法完成您的请求。请在30秒后重试。相同的代码在本地开发服务器上运行正常,如果它在本地开发服务器上运行或不在本地开发服务器上运行,则您没有发表评论。它在本地开发服务器上不运行Hi-BrettJ,我删除了initialize.py,但仍然存在相同的错误。我也脱机运行它。下面是错误。“raise TypeError('流不受限制,未提供限制')TypeError:stream not limited and no limited provided.”输出中应该有更多有用的信息,比如行号。你需要发布错误的完整上下文。嗨,BrettJ。谢谢你的回复。我已经在我的帖子上发布了完整的错误消息。请检查并让我知道我哪里做错了。我在本地运行了你的应用程序,没有问题。我相信你的依赖关系有问题。烧瓶在哪里?它在你的应用程序目录中吗?请尝试pip install-t lib/flask,然后创建一个appengine_config.py文件,其中包含以下内容:从google.appengine.ext import vender和下一行vendor.add('lib')。您好,BrettJ,我删除了initialize.py,但仍然存在相同的错误。我也脱机运行了它。下面是错误。“raise TypeError('stream not limited and no limited'))TypeError:stream not limited and no limited provided.”输出中应该有更多有用的信息,比如行号。你需要发布错误的完整上下文。嗨,BrettJ。谢谢你的回复。我已经在我的帖子上发布了完整的错误消息。请检查并让我知道我哪里做错了。我在本地运行了你的应用程序,没有问题。我相信你的依赖关系有问题。烧瓶在哪里?它在你的应用程序目录中吗?尝试pip install-t lib/flask,然后创建一个appengine_config.py文件,其中包含以下内容:从google.appengine.ext import vender和下一行vendor.add('lib')。您好friendoflore,谢谢您的回答,但在flask中不需要定义计算函数Hi friendoflore,谢谢您的回答,但在烧瓶中不需要定义计算函数