Flask - how can I always include language code in url Flask - how can I always include language code in url flask flask

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:

  1. It can return 404:

    app.register_blueprint(mainBlueprint, url_defaults='/<lang>')
  2. 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>')