Sto costruendo un'applicazione modulare in Flask e continuo a ricevere un errore di compilazione se mi riferisco a una funzione in un altro Blueprint dal mio progetto corrente ad es. Ho un file userProfiles.pyFlask url_for fornisce un errore durante il routing nell'applicazione modulare
@userP.route('/myProfile/', methods=['GET'])
def showProfile():
.....
An in un altro file userAccounts.py devo
@userA.route('/login/', methods=['GET', 'POST'])
def login():
.....
e poi ho un main.py che registra tutti i progetti e non app.run()
ora sto provando a fare url_for ('userA.login) dalla mia funzione showProfile ma continuo a ricevere un - werkzeug.routing.BuildError -. Non sono stato in grado di risolvere questo e nessuna delle soluzioni online mi ha aiutato.
P.S. Anche la funzione url_for non funziona nei miei modelli, per qualche ragione semplicemente non capta le funzioni, non ho avuto altra scelta che href al percorso.
solo per aggiungere un po 'po' più informazioni io non hav funzioni duplicate a tutti, tutte le funzioni ed i loro nomi sono unici e l'instradamento url_for funziona bene all'interno di ciascun Blueprint
Ecco l'Traceback:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1701, in __call__
return self.wsgi_app(environ, start_response)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1689, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1687, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1360, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1358, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1344, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/cevdet/PycharmProjects/FlaskProjects/jobperfect/userProfiles.py", line 126, in showProfile
else: return redirect(url_for('userA.login'))
File "/usr/local/lib/python2.7/dist-packages/flask/helpers.py", line 361, in url_for
return appctx.app.handle_url_build_error(error, endpoint, values)
File "/usr/local/lib/python2.7/dist-packages/flask/helpers.py", line 354, in url_for
force_external=external)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/routing.py", line 1607, in build
raise BuildError(endpoint, values, method)
BuildError: ('userA.login', {}, None)
127.0.0.1 - - [17/Sep/2012 23:55:12] "GET /myP
Messaggio l'intero backtrace. – Blender
Mostrare anche il codice in cui entrambi i progetti sono registrati nell'app. –