Il url_for
funziona tra i progetti?Utilizzo di url_per attraverso i progetti
/flaskapp
/runserver.py (from server import app; app.run(debug=True))
/server
/__init__.py (app = Flask(__name__))
/pages
/__init__.py ('pages' blueprint)
/users
/__init__.py ('users' blueprint)
in server/__init__.py
:
from server.pages import pages
from server.users import users
app = Flask(__name__)
app.register_blueprint(pages)
app.register_blueprint(users)
in server/pages/__init__.py
:
pages = Blueprint('pages', __name__)
@pages.route('/')
def index(): return '<h1>Index</h1>'
in server/users/__init__.py
:
users = Blueprint('users', __name__)
@users.route('/login')
def login():
...
return redirect(url_for('pages.index'))
^^^^^^^^^^^^^^^^^^^^^^
Il url_for
chiamata solleva BuildError: ('pages.index', {}, None)
Quale sarebbe un modo per arrivare a 'pages.index'
?
(ho provato importare il modulo, ma che non ha funzionato)
Ho cercato il tuo esempio con Flask 0.10.1 e sono in grado di ricreare il problema. Sembra che dovrebbe funzionare, forse hai lasciato fuori dalla domanda un codice che è effettivamente importante? Se possibile, prova a ricreare il problema in un singolo file python e pubblica il file python. Inoltre, appena prima di app.debug, stampa sulla console 'app.url_map', che elencherà tutte le regole per gli endpoint. –