-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hard to use url_for
in a view
#516
Comments
Can't you set this property in the base class? I guess a more comprehensive code sample would help explaining the problem. |
You can't do that because the blueprint is not known/available there.
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: