Python 从其他文件删除路由器

Python 从其他文件删除路由器,python,flask,routes,attributeerror,Python,Flask,Routes,Attributeerror,我现在构建的应用程序如下所示 myserver - server.py - myapp -- urls.py -- models.py -- views.py -- consts.py 我的密码在这里 server.py from flask import Flask from flask_sqlalchemy import SQLAlchemy # Flask App application = Flask(__name__) # SQLAlchemy application.confi

我现在构建的应用程序如下所示

myserver
- server.py
- myapp
-- urls.py
-- models.py
-- views.py
-- consts.py
我的密码在这里

server.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

# Flask App
application = Flask(__name__)

# SQLAlchemy
application.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:./local.db"
db = SQLAlchemy(application)

if __name__ == "__main__":
    application.run(debug=True)
from server import application
from . import views

@application.route('/')
def version():
    return views.version()
url.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

# Flask App
application = Flask(__name__)

# SQLAlchemy
application.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:./local.db"
db = SQLAlchemy(application)

if __name__ == "__main__":
    application.run(debug=True)
from server import application
from . import views

@application.route('/')
def version():
    return views.version()
但当我运行server.py并打开服务器时,服务器会显示
404notfound

所以我搜索了stackoverflow,找到了一些关于
Blueprint
的描述。我将blueprint命名为app,比如
app=blueprint('app',name.\uuuu)
,并从server.py注册它,但我得到了
AttributeError:module'url'没有属性'app'


如何在其他文件中定义url路由器?

这里是带有
蓝图的示例。文件结构:

/project_folder
   server.py
   urls.py
   urls2.py
server.py:

from flask import Flask
from urls import urls_blueprint
from urls2 import urls2_blueprint


app = Flask(__name__)
# register routes from urls
app.register_blueprint(urls_blueprint)
# we can register routes with specific prefix
app.register_blueprint(urls2_blueprint, url_prefix='/urls2')

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

from flask import Blueprint

urls_blueprint = Blueprint('urls', __name__,)


@urls_blueprint.route('/')
def index():
    return 'urls index route'
urls2.py:

from flask import Blueprint
urls2_blueprint = Blueprint('urls2', __name__,)


@urls2_blueprint.route('/')
def index():
    return 'urls2 index route'
运行服务器并打开
http://localhost:5000/
http://localhost:5000/urls2/


希望这有帮助。

您正在调用“app”,但python不知道什么是“app”。您是否忘记为“应用程序”添加导入?你能发布更新的代码吗?@FuzzyAmi我也从myapp导入URL和注册blueprint URL在
server.py
中添加了这一行。appMy问题与blueprint无关,但感谢您的回答:)