Home Features Philosophy Docs Blog Errors Security Examples FAQ
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