2016-12-14 67 views
2

我已经在pythonanywhere上部署了成功运行的python flask应用程序。 只有主页显示,但是当我提交表格时抛出内部服务器错误。Python瓶应用程序部署在pythonanywhere错误提交

可能是什么情况。检查控制台网络时,我用过的请求链接没有被访问,并且出现错误。

我已成功在virtualenv中为该项目安装了请求和BeautifulSoup依赖项。

下面是代码

from flask import Flask,render_template 
from flask import request 
#lets do the scraping here 
import requests 
from bs4 import BeautifulSoup 


app=Flask(__name__) 

@app.route('/',methods=['GET','POST']) 
def index(): 
    if request.method== "GET" : 
     return render_template('home.html',result="") 
    else: 
     result=requests.post("jobkhulyo.com/") 
     soup1=BeautifulSoup(result.content) 
     return render_template('home.html',result=soup1); 

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

get方法运作良好,但对于POST方法,它抛出一个内部服务器错误。 Home.html是模板目录中的模板文件。在POST方法中加载相同的模板,但在提交Form时有一些值。

回答

2

传递给请求的URL必须以一个方案开头,如http://https://。你的URL没有,所以它引发了一个MissingScheme异常,这个异常确切地解释了问题所在。

MissingSchema: Invalid URL 'jobkhulyo.com': No schema supplied. Perhaps you meant http://jobkhulyo.com? 

正如它的建议,请求http://jobkhulyo.com

当在调试模式下本地运行服务器时,Flask将显示发生错误的回溯。在生产中,它将显示500错误,但仍记录回溯。启用日志记录以查看这些错误,如Flask application traceback doesn't show up in server log中所述。

0

其实问题是pythonanywhere不允许你在你的web应用程序中引用任何外部网站。我有很少的外部链接,所以错误来了。您可以添加他们列为白名单的外部链接,这些白名单可以在他们的网站中进行检查。

更重要的是如果一个免费帐户你不能,但它必须是可利用的有偿服务