Flask: get current route

flask, python, url

Solution

the most 'flasky' way to check which route triggered your view is, by `request.url_rule`.

from flask import request

rule = request.url_rule

if 'antitop' in rule.rule:
    # request by '/antitop'

elif 'top' in rule.rule:
    # request by '/top'

Problem

In Flask, when I have several routes for the same function, how can I know which route is used at the moment? For example: ``` @app.route("/antitop/") @app.route("/top/") @requires_auth def show_top(): .... ``` How can I know, that now route was called using `/top/` or `/antitop/`? UPDATE I know about `request.path` I don't want use it, because the request can be rather complex, and I want repeat the routing logic in the function. I think that the solution with `url_rule` it the best one.

Original source

Related problems