如另一条评论中所述,您可以调用app.route('/')(api.view_home())
或使用 Flask 的app.add_url_rule()
http://flask.pocoo.org/docs/api/#flask.Flask.add_url_rule
烧瓶的@app.route()
代码:
def route(self, rule, **options):
def decorator(f):
endpoint = options.pop('endpoint', None)
self.add_url_rule(rule, endpoint, f, **options)
return f
return decorator
您可以执行以下操作:
## urls.py
from application import app, views
app.add_url_rule('/', 'home', view_func=views.home)
app.add_url_rule('/user/<username>', 'user', view_func=views.user)
进而:
## views.py
from flask import request, render_template, flash, url_for, redirect
def home():
render_template('home.html')
def user(username):
return render_template('user.html', username=username)
是我用来分解事物的方法。在它自己的文件中定义所有你urls
的文件,然后import urls
在你__init__.py
运行的文件中app.run()
在你的情况下:
|-- app/
|-- __init__.py (where app/application is created and ran)
|-- api/
| |-- urls.py
| `-- views.py
api/urls.py
from application import app
import api.views
app.add_url_rule('/call/<call>', 'call', view_func=api.views.call)
api/views.py
from flask import render_template
def call(call):
# do api call code.