我正在使用烧瓶应用工厂模式,并拥有此run.py文件:
instance (Separate a) => Separate (Complex a) where
d `scale` z = (d `scale`) <$> z
然后我像这样运行应用程序:
from app import create_app
app = create_app()
if __name__ == '__main__':
app.run(host='localhost', debug=True)
但是当我去http://localhost:5000时,它不起作用。 它说:
未找到
在服务器上找不到请求的URL。如果您输入了URL 请手动检查您的拼写,然后重试。
可能有什么不对?当我有127.0.0.1地址时,它运作良好...
我需要运行&#34; localhost&#34;因为我正在集成方形付款及其沙盒设置,因此我需要从本地主机&#39;向其API发出请求。
另外,当我在浏览器中发出请求时,在烧瓶响应的终端上有这样的:
python run.py
所以看起来请求到达烧瓶但烧瓶返回404。
以下是我的 init .py文件的一部分:
127.0.0.1 - - [09/Sep/2017 00:30:45] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [09/Sep/2017 00:30:45] "GET /favicon.ico HTTP/1.1" 404 -
127.0.0.1 - - [09/Sep/2017 00:30:45] "GET /favicon.ico HTTP/1.1" 404 -
答案 0 :(得分:1)
可能需要安装虚拟环境
pip install virtualenv
这样做。希望这有效
答案 1 :(得分:0)
简单的替代解决方案是首先检查端口5000是否可用,您可以使用此命令检查:
netstat -lat
查找有关可用端口here的更多信息: 如果你没有义务使用5000端口,你可以尝试任何你想要的东西.. 如果每件事都没问题意味着你的主页有问题,你就没有路由到'/',这就是你去localhost时遇到404错误的原因:5000 /: 所以要纠正它你有3个解决方案:
在 init .py文件中添加app.route('/')
在创建应用后直接在run.py中添加它(不是一个好方法)
尝试使用蓝图
由于您未提供 init .py代码,请将其添加到run.py,
from app import create_app
app = create_app()
@app.route('/')
def homepage():
return 'hello world'
if __name__ == '__main__':
app.run(host='localhost', port=9874)
注释中建议的另一个解决方案是通过键入此命令来检查127.0.0.1是否解析为localhost找到主机文件,并检查您是否与我的行相同:
nano /etc/hosts
并打开文件:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
答案 2 :(得分:0)
主机文件
中没有 localhost 条目127.0.0.1 localhost
您可以通过以下方式检查您的主机文件
sudo vi /etc/hosts
open this file C:\Windows\System32\Drivers\etc\hosts
如果您的hosts文件中没有localhost,请添加并保存。
答案 3 :(得分:0)
您应尝试将localhost
的{{1}}换出。
0.0.0.0
它为我在localhost上提供了服务。