Python flask应用程序在提交时在pythonanywhere上部署错误

时间:2016-12-14 17:11:58

标签: python flask python-requests

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

可能是这种情况。检查控制台网络,我使用过的请求链接没有被访问,错误就在前面。

我已经在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 个答案:

答案 0 :(得分:2)

传递给请求的网址必须以方案开头,例如http://https://。您的网址没有,因此它会引发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

中所述

答案 1 :(得分:0)

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

最重要的是,如果它是一个免费帐户,你必须但它必须在付费服务上提供