Flask - how can I always include language code in url
Look like you need only one blueprint:
app.register_blueprint(mainBlueprint, url_defaults='/<lang>')
But you should decide behaviour for default blueprint route:
It can return 404:
app.register_blueprint(mainBlueprint, url_defaults='/<lang>')
It can redirect to
/en
blueprint:@mainBlueprint.before_requestdef x(*args, **kwargs): if not request.view_args.get('lang'): return redirect('/en' + request.full_path)app.register_blueprint(mainBlueprint, url_defaults={'lang': None})app.register_blueprint(mainBlueprint, url_prefix='/<lang>')