Exception in thread django-main-thread:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, *self._kwargs)
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper
fn(args, **kwargs)
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 133, in inner_run
self.check(display_num_errors=True)
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/core/management/base.py", line 485, in check
all_issues = checks.run_checks(
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/core/checks/registry.py", line 88, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/core/checks/urls.py", line 14, in check_url_config
return check_resolver(resolver)
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/core/checks/urls.py", line 24, in check_resolver
return check_method()
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/urls/resolvers.py", line 494, in check
for pattern in self.url_patterns:
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/utils/functional.py", line 57, in get
res = instance.dict[self.name] = self.func(instance)
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/urls/resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/utils/functional.py", line 57, in get
res = instance.dict[self.name] = self.func(instance)
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/urls/resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/antonio/eclipse-workspace/djaufork/aula/urls.py", line 35, in
re_path(r'^missatgeria/', include('aula.apps.missatgeria.urls')),
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/urls/conf.py", line 38, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/antonio/eclipse-workspace/djaufork/aula/apps/missatgeria/urls.py", line 3, in
from aula.apps.missatgeria import views as missatgeria_views
File "/home/antonio/eclipse-workspace/djaufork/aula/apps/missatgeria/views.py", line 22, in
from aula.apps.missatgeria.forms import EmailForm
File "/home/antonio/eclipse-workspace/djaufork/aula/apps/missatgeria/forms.py", line 5, in
class EmailForm(forms.Form):
File "/home/antonio/eclipse-workspace/djaufork/aula/apps/missatgeria/forms.py", line 8, in EmailForm
adjunts = forms.FileField(required=False, widget=forms.ClearableFileInput(attrs={'multiple': True}))
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/forms/widgets.py", line 427, in init
raise ValueError(
ValueError: ClearableFileInput doesn't support uploading multiple files.
Descripció el problema
Django 4.2.1 ha fet canvis als widgets ClearableFileInput i FileInput. El codi no és compatible amb aquesta versió de Django.
Passes per reproduir-ho
Actualitzar els packages a l'última versió. Amb python >=3.8 source venv/bin/activate pip3 install --upgrade -r requirements.txt pip3 install Django==4.2.1 python manage.py runserver
Informació adicional
Afecta a missatgeria/forms.py i matricula/forms.py
https://docs.djangoproject.com/en/4.2/releases/4.2.1/
Traces
Exception in thread django-main-thread: Traceback (most recent call last): File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/usr/lib/python3.8/threading.py", line 870, in run self._target(*self._args, *self._kwargs) File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper fn(args, **kwargs) File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 133, in inner_run self.check(display_num_errors=True) File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/core/management/base.py", line 485, in check all_issues = checks.run_checks( File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/core/checks/registry.py", line 88, in run_checks new_errors = check(app_configs=app_configs, databases=databases) File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/core/checks/urls.py", line 14, in check_url_config return check_resolver(resolver) File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/core/checks/urls.py", line 24, in check_resolver return check_method() File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/urls/resolvers.py", line 494, in check for pattern in self.url_patterns: File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/utils/functional.py", line 57, in get res = instance.dict[self.name] = self.func(instance) File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/urls/resolvers.py", line 715, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/utils/functional.py", line 57, in get res = instance.dict[self.name] = self.func(instance) File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/urls/resolvers.py", line 708, in urlconf_module return import_module(self.urlconf_name) File "/usr/lib/python3.8/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/antonio/eclipse-workspace/djaufork/aula/urls.py", line 35, in
re_path(r'^missatgeria/', include('aula.apps.missatgeria.urls')),
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/urls/conf.py", line 38, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/antonio/eclipse-workspace/djaufork/aula/apps/missatgeria/urls.py", line 3, in
from aula.apps.missatgeria import views as missatgeria_views
File "/home/antonio/eclipse-workspace/djaufork/aula/apps/missatgeria/views.py", line 22, in
from aula.apps.missatgeria.forms import EmailForm
File "/home/antonio/eclipse-workspace/djaufork/aula/apps/missatgeria/forms.py", line 5, in
class EmailForm(forms.Form):
File "/home/antonio/eclipse-workspace/djaufork/aula/apps/missatgeria/forms.py", line 8, in EmailForm
adjunts = forms.FileField(required=False, widget=forms.ClearableFileInput(attrs={'multiple': True}))
File "/home/antonio/djau/djau2018/venv38/lib/python3.8/site-packages/django/forms/widgets.py", line 427, in init
raise ValueError(
ValueError: ClearableFileInput doesn't support uploading multiple files.