我正在使用flask应用程序工厂模式,比如,并运行这个。py文件:
from app import create_app
app = create_app()
if __name__ == '__main__':
app.run(host='localhost', debug=True)
然后我像这样运行应用程序:
python run.py
但是当我去http://localhost:5000它不起作用。它说:
未找到
在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试。
可能有什么问题?当我有127.0.0.1地址时,它运行良好。。。
我需要在“localhost”上运行,因为我正在集成方形支付,他们的沙盒设置需要我从“localhost”向他们的应用编程接口发出请求。
此外,当我在浏览器中发出请求时,在flask响应的终端上有以下内容:
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 -
看起来请求到达了flask,但flask返回404。
这是我初始化的一部分。py文件:
# from __future__ import print_function
# import flask
from flask import Flask, render_template, url_for, redirect, flash, request, \
session, current_app, abort
import os
# flask sqlaclhemy
from sqlalchemy import func, desc, asc, or_, and_
from flask_admin import Admin, AdminIndexView
from flask_admin.contrib.sqla import ModelView
# Flask secrutiy
from flask_security import (Security, SQLAlchemyUserDatastore,
login_required, current_user)
from flask_login import LoginManager
from flask_mail import Mail
# square connect setup
import uuid
import squareconnect
from squareconnect.rest import ApiException
# from squareconnect.apis.locations_api import LocationsApi
from squareconnect.apis.transactions_api import TransactionsApi
mail = Mail()
class CustomAdminIndexView(AdminIndexView):
def is_accessible(self):
return current_user.is_authenticated and current_user.has_role('admin')
def create_app():
app = Flask(__name__)
app.config.from_object(os.environ['APP_SETTINGS'])
mail.init_app(app)
from models import db, User, Role
db.init_app(app)
user_datastore = SQLAlchemyUserDatastore(db, User, Role)
security = Security(app, user_datastore)
@app.route('/')
def home():
return render_template('home.html')
return app
可能您需要安装虚拟环境
pip安装virtualenv
这样做。希望这样行
在您的主机文件中没有作为本地主机的条目
127.0.0.1 localhost
您可以通过以下方式检查主机文件
sudo vi /etc/hosts
open this file C:\Windows\System32\Drivers\etc\hosts
如果主机文件中没有localhost,请添加并保存。
简单的替代解决方案是首先检查端口5000是否可用。您可以使用此命令检查:
netstat -lat
如果每件事都可以,这意味着你有一个问题与你的主页,你没有一个路由 '/' , 为什么你得到404错误,当你去localhost:5000/:所以要纠正它,你有3个解决方案:
>
添加应用程序。在init中路由(“/”)。py文件
直接添加到跑步中。创建应用程序后的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)
comment中建议的另一个解决方案是,通过键入以下命令,检查127.0.0.1 resolve to 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
试图理解为什么这样一个简单的rest调用api不能从localhost(使用angular cli)工作。 这是服务代码: 浏览器的错误是: XMLHttpRequest 无法加载 http://www.mocky.io/v2/...对预检请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头。因此,不允许访问源“http://localhost:4200”。
我正在本地运行一个Flask-Restful API,并从另一个端口发送一个包含JSON的POST请求。我得到了错误 我得到 它将“Access-Control-Allow-Origin”显示为“*”。GET工作正常,只是POST给出了这个错误。会出什么问题?如果相关,对于前端,我使用react并通过Axios请求。
当我调用下面的代码时,我总是得到 用户的值。Id和密码有效。结果错误总是说“无效令牌”,我没有尽可能地看到它,因为我得到它并立即检查它和它的错误。这只是一个理智测试——我通常通过电子邮件向用户发送令牌,但这也不起作用。 UPDATE 1我在同一个控制器中定义UserManager,如下所示: UPDATE 2这是我的Application ationUserManager代码:
我一直在我的开发服务器上运行flask talisman,一切正常。然而,在我的专用生产服务器(Almalinux)上安装了相同的代码和要求,只需在app=Flask(_uname_u)之后添加Talisman(app)就会导致网页加载时不会重定向到https://localhost:8000.在域中键入后,我在浏览器上准确地看到的错误消息是: 无法访问此网站-localhost拒绝连接 我正在用
我只是按照spring的指示将响应发送回特定用户,而不是广播消息。但最终,无法发送回响应消息。 这是我的js代码: 这是控制器: 这是Spring配置: 请帮忙。谢谢提前。 我已经尝试使用@SendToUser,@SendToUser(/队列/resp)和SimpMessagingTem板以及,完全不能响应消息到浏览器。
我正在为youtube api实现OAuth 2… 公共静态凭据authorize(列表范围,字符串credentialDatastore)引发IOException { } 它在本地工作。从逻辑上讲,我将回调URL更改为http://localhost:8081/CallBack..在本地工作正常,但当我使用公共IP部署到AWS服务器时,它不起作用。 显示地址已被用于8081异常,甚至没有重定向