'int' object has no attribute 'encode' -- in pagination.py
Hi!
I installed mailman-web from scratch just now, which includes django-mailman3==1.2.0 and for my mailing list with >25 members, I got an error.
Namely: 'int' object has no attribute 'encode'
File "/srv/virtualenvs/mailman3-web/lib/python3.5/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/srv/virtualenvs/mailman3-web/lib/python3.5/site-packages/django/template/library.py" in render
192. output = self.func(*resolved_args, **resolved_kwargs)
File "/srv/virtualenvs/mailman3-web/lib/python3.5/site-packages/django_mailman3/templatetags/pagination.py" in add_to_query_string
36. return conditional_escape(qs.urlencode())
File "/srv/virtualenvs/mailman3-web/lib/python3.5/site-packages/django/http/request.py" in urlencode
524. for v in list_
File "/srv/virtualenvs/mailman3-web/lib/python3.5/site-packages/django/http/request.py" in <genexpr>
524. for v in list_
Exception Type: AttributeError at /postorius/lists/THE_LIST/members/member/
Exception Value: 'int' object has no attribute 'encode'
Apparently values like k=page
, v=[2]
are being passed.
The following fixed it:
--- /srv/virtualenvs/mailman3-web/lib/python3.5/site-packages/django_mailman3/templatetags/pagination.py.orig 2019-04-17 23:52:16.272672019 +0200
+++ /srv/virtualenvs/mailman3-web/lib/python3.5/site-packages/django_mailman3/templatetags/pagination.py 2019-04-17 23:52:18.724623212 +0200
@@ -32,7 +32,7 @@ def add_to_query_string(context, *args,
new_qs_elements.update(kwargs)
# don't use the .update() method, it appends instead of overwriting.
for key, value in new_qs_elements.items():
- qs[key] = value
+ qs[key] = str(value)
return conditional_escape(qs.urlencode())
Cheers!
Walter