我创建了一个在pythonanywhere上工作正常的烧瓶应用程序但是当我在谷歌应用引擎上部署它时,它给出了错误http://aapkatool.appspot.com/
这是我的代码
if ($? == -1) {
print "failed to execute: $!\n";
}
elsif ($? & 127) {
printf "child died with signal %d, %s coredump\n",
($? & 127), ($? & 128) ? 'with' : 'without';
}
else {
printf "child exited with value %d\n", $? >> 8;
}
这是我的app.yaml代码
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')
这里是initialize.py代码
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"
这是完整的错误
from google.appengine.ext.webapp.util import run_wsgi_app
from main import app
run_wsgi_app(app)
由于
答案 0 :(得分:0)
在http://kk268.pythonanywhere.com/emi-calc和http://aapkatool.appspot.com/的两个部署中都定义了calculate
功能吗?我在浏览器中看到的唯一错误是:
(index):145 Uncaught ReferenceError: calculate is not defined
onclick @ (index):145
我不知道calculate
函数的定义位置。
答案 1 :(得分:0)
我不确定为什么你甚至都有initialize.py
文件。它看起来不像你需要它。 google.appengine.ext.webapp
包文档声明它适用于已弃用的Python 2.5环境,并且您正确地使用Python 2.7。
app.yaml
的脚本处理程序改为指向main.app
。initialize.py
。可以找到使用Flask的示例初始项目here,该项目也在Getting Started docs for App Engine with Python中引用。另外,如果您还没有,请获取local development server running。