DJE-041
Error
Template
mount() with wrong signature
Error message
TypeError: mount() takes 1 positional argument but 2 were given
The LiveView mount() method is called with the request object as its first argument. If you define mount(self) without the request parameter, Django will raise a TypeError when the view is loaded.
liveview
mount
signature
Affected versions: >=0.2.0
Solution
Before (problematic)
class MyView(LiveView):
template_name = "my_view.html"
def mount(self): # Wrong! Missing request param
self.items = []
After (fixed)
class MyView(LiveView):
template_name = "my_view.html"
def mount(self, request):
self.items = []
# request is available for auth, query params, etc.
self.user_name = request.user.username