Le filtre markdown génère l'erreur "NoneType found" à cause d'extraits d'article nuls
Voir ligne 187 dans apps/rp/template/rp/article_list_public.html {{ article.extracts |markdown }}
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/rp/
Django Version: 2.2
Python Version: 3.9.2
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.contenttypes',
'django.contrib.sites',
'django_extensions',
'rest_framework',
'rest_framework.authtoken',
'taggit',
'taggit_serializer',
'crispy_forms',
'django_markdown2',
'sorl.thumbnail',
'allauth',
'allauth.account',
'allauth.socialaccount',
'django_fsm',
'debug_toolbar',
'userprofile',
'core',
'rp']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware']
Template error:
In template /home/michel/rp/templates/base.html, error at line 0
decoding to str: need a bytes-like object, NoneType found
1 : {% load static %}
2 : {% load i18n %}
3 : <!DOCTYPE html>
4 : <!-- Header -->
5 : <html>
6 : <head>
7 : <title>Revue de presse de La Quadrature du Net</title>
8 : <meta charset="utf-8" />
9 : <meta name="author" content="La Quadrature du Net" />
10 : <meta name="viewport" content="width=device-width, initial-scale=1.0" />
Traceback:
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/core/handlers/base.py" in _get_response
145. response = self.process_exception_by_middleware(e, request)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/core/handlers/base.py" in _get_response
143. response = response.render()
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/response.py" in render
106. self.content = self.rendered_content
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/response.py" in rendered_content
83. content = template.render(context, self._request)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/backends/django.py" in render
61. return self.template.render(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/base.py" in render
171. return self._render(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/test/utils.py" in instrumented_test_render
96. return self.nodelist.render(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/loader_tags.py" in render
150. return compiled_parent._render(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/test/utils.py" in instrumented_test_render
96. return self.nodelist.render(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/loader_tags.py" in render
62. result = block.nodelist.render(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/defaulttags.py" in render
209. nodelist.append(node.render_annotated(context))
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/base.py" in render
987. output = self.filter_expression.resolve(context)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django/template/base.py" in resolve
698. new_obj = func(obj, *arg_vals)
File "/home/michel/rp/.env/lib/python3.9/site-packages/django_markdown2/templatetags/md2.py" in markdown
62. return mark_safe(markdown2.markdown(force_unicode(value), extras=extras, safe_mode=safe_mode))
File "/home/michel/rp/.env/lib/python3.9/site-packages/markdown2.py" in markdown
179. return Markdown(html4tags=html4tags, tab_width=tab_width,
File "/home/michel/rp/.env/lib/python3.9/site-packages/markdown2.py" in convert
312. text = unicode(text, 'utf-8')
Exception Type: TypeError at /rp/
Exception Value: decoding to str: need a bytes-like object, NoneType found