You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to convert my Flask app from flask-restful, and I need to use flask.url_for in some of my pagination helper code that's in my views' base class.
The endpoint value that url_for takes is basically {blueprint.name}.{viewclass.__name__} and in fact this value is calculated and used in the Blueprint.register_views_in_doc method. However while it''s easy to get the view class name, the blueprint name under which the view is registered is not available to the view itself, which means the endpoint name can't be calculated.
At the moment I am basically copy/pasting this same code in every view definition:
You can't do that because the blueprint is not known/available there.
I guess a more comprehensive code sample would help explaining the problem.
The bottom line is that the view class doesn't know to which blueprint it's attached, so views cannot calculate their full endpoint, I need this copypasta code in every view. Instead, it could be refactored in a base view class in such a way that it's calculated when needed.
I'm trying to convert my Flask app from flask-restful, and I need to use
flask.url_for
in some of my pagination helper code that's in my views' base class.The endpoint value that
url_for
takes is basically{blueprint.name}.{viewclass.__name__}
and in fact this value is calculated and used in theBlueprint.register_views_in_doc
method. However while it''s easy to get the view class name, the blueprint name under which the view is registered is not available to the view itself, which means the endpoint name can't be calculated.At the moment I am basically copy/pasting this same code in every view definition:
but I'd ideally like to make this more automatic by injecting the
full_endpoint
property when theBlueprint.route
code runs to register the view.The text was updated successfully, but these errors were encountered: