Opened 13 years ago
Last modified 12 years ago
#16744 closed New feature
Class based view should have the view object in the context — at Initial Version
Reported by: | Reinout van Rees | Owned by: | nobody |
---|---|---|---|
Component: | Generic views | Version: | 1.3 |
Severity: | Normal | Keywords: | |
Cc: | jonas-django@…, taavi@…, reinout@…, jeroen@… | Triage Stage: | Accepted |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | yes |
Easy pickings: | no | UI/UX: | no |
Description
Summary: your_cbv_object.get_context_dict()
should include {'view': self}
.
Now that django has class based views, I was surprised that I don't get the view object in my template's context. And that I still have to hand-craft my context dictionary.
What would be handier than setting attributes or adding methods to the view class and accessing them with {{ view.my_attribute }}
and {{ view.my_method }}`? Without having to do the double work of adding them by hand to the context dictionary? An additional benefit: you encourage to do even more in python and even less in the template by making it easy to add helper methods in your view.
The solution could as simple as adding {'view': self}
in the three or four spots in django itself where a .get_context_dict()
is defined.