我已经在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时使用一些值。
答案 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应用程序中的任何外部站点。我的外部链接很少,所以错误来了。您可以添加他们列为白名单的外部链接,可以在其网站中进行检查。
最重要的是,如果它是一个免费帐户,你必须但它必须在付费服务上提供