J'ai décidé de retirer Django 2.2 pour un spin (le projet est en cours d'exécution 2.1.8) et maintenant je ne peux même plus faire démarrer le serveur. Je gère ce projet depuis près de deux ans et cela devrait être une mise à jour mineure.
L'erreur semble être liée à mes vues, mais je ne trouve rien dans les notes de version qui a changé de manière significative entre 2.1.8 et 2.2. Je soupçonne que cela peut être dû à mon système view
plutôt non standard. Au lieu d'un seul fichier appelé views.py
, J'utilise un dossier de fichiers view
joints par un __init__.py
. Mais encore une fois, c'est juste une supposition.
Watching for file changes with StatReloader
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Python37\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\Python37\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "C:\Python37\lib\site-packages\Django\utils\autoreload.py", line 54, in wrapper
fn(*args, **kwargs)
File "C:\Python37\lib\site-packages\Django\core\management\commands\runserver.py", line 117, in inner_run
self.check(display_num_errors=True)
File "C:\Python37\lib\site-packages\Django\core\management\base.py", line 390, in check
include_deployment_checks=include_deployment_checks,
File "C:\Python37\lib\site-packages\Django\core\management\base.py", line 377, in _run_checks
return checks.run_checks(**kwargs)
File "C:\Python37\lib\site-packages\Django\core\checks\registry.py", line 72, in run_checks
new_errors = check(app_configs=app_configs)
File "C:\Python37\lib\site-packages\Django\core\checks\urls.py", line 13, in check_url_config
return check_resolver(resolver)
File "C:\Python37\lib\site-packages\Django\core\checks\urls.py", line 23, in check_resolver
return check_method()
File "C:\Python37\lib\site-packages\Django\urls\resolvers.py", line 399, in check
messages.extend(check_resolver(pattern))
File "C:\Python37\lib\site-packages\Django\core\checks\urls.py", line 23, in check_resolver
return check_method()
File "C:\Python37\lib\site-packages\Django\urls\resolvers.py", line 400, in check
messages.extend(self._check_custom_error_handlers())
File "C:\Python37\lib\site-packages\Django\urls\resolvers.py", line 408, in _check_custom_error_handlers
handler, param_dict = self.resolve_error_handler(status_code)
File "C:\Python37\lib\site-packages\Django\urls\resolvers.py", line 590, in resolve_error_handler
return get_callable(callback), {}
File "C:\Python37\lib\site-packages\Django\urls\utils.py", line 28, in get_callable
mod = import_module(mod_name)
File "C:\Python37\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'views'
Traceback (most recent call last):
File "C:/git/si-dash/manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "C:\Python37\lib\site-packages\Django\core\management\__init__.py", line 381, in execute_from_command_line
utility.execute()
File "C:\Python37\lib\site-packages\Django\core\management\__init__.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python37\lib\site-packages\Django\core\management\base.py", line 323, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Python37\lib\site-packages\Django\core\management\commands\runserver.py", line 60, in execute
super().execute(*args, **options)
File "C:\Python37\lib\site-packages\Django\core\management\base.py", line 364, in execute
output = self.handle(*args, **options)
File "C:\Python37\lib\site-packages\Django\core\management\commands\runserver.py", line 95, in handle
self.run(**options)
File "C:\Python37\lib\site-packages\Django\core\management\commands\runserver.py", line 102, in run
autoreload.run_with_reloader(self.inner_run, **options)
File "C:\Python37\lib\site-packages\Django\utils\autoreload.py", line 579, in run_with_reloader
start_Django(reloader, main_func, *args, **kwargs)
File "C:\Python37\lib\site-packages\Django\utils\autoreload.py", line 564, in start_Django
reloader.run(Django_main_thread)
File "C:\Python37\lib\site-packages\Django\utils\autoreload.py", line 275, in run
self.run_loop()
File "C:\Python37\lib\site-packages\Django\utils\autoreload.py", line 281, in run_loop
next(ticker)
File "C:\Python37\lib\site-packages\Django\utils\autoreload.py", line 321, in tick
state.update(self.loop_files(state, previous_timestamp))
File "C:\Python37\lib\site-packages\Django\utils\autoreload.py", line 328, in loop_files
for path, mtime in self.snapshot_files():
File "C:\Python37\lib\site-packages\Django\utils\autoreload.py", line 348, in snapshot_files
for file in self.watched_files():
File "C:\Python37\lib\site-packages\Django\utils\autoreload.py", line 241, in watched_files
yield from iter_all_python_module_files()
File "C:\Python37\lib\site-packages\Django\utils\autoreload.py", line 103, in iter_all_python_module_files
return iter_modules_and_files(modules, frozenset(_error_files))
File "C:\Python37\lib\site-packages\Django\utils\autoreload.py", line 128, in iter_modules_and_files
if not path.exists():
File "C:\Python37\lib\pathlib.py", line 1339, in exists
self.stat()
File "C:\Python37\lib\pathlib.py", line 1161, in stat
return self._accessor.stat(self)
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: '<frozen importlib._bootstrap>'
Encore une fois, cette disposition de vue fonctionne depuis des années maintenant et je ne trouve rien concernant urls
ou views
qui a changé entre 2.1.8 et 2.2.
Tout ce dont je pars, c'est la soudaine ModuleNotFoundError: No module named 'views'
Edit: Avec l'aide de @Alasdair, j'ai surmonté cette erreur, mais je ne sais toujours pas pourquoi cela se produit. Le projet fonctionne parfaitement sur 2.1.8, et il n'y a rien dans les documents concernant un changement dans la façon dont vous référencez handler###
vues. Aussi le fait que j'ai eu LookupError: No installed app with label 'admin'
et puis, comme par magie, après la désinstallation et la réinstallation de la version 2.2, je ne me sens pas bien.
Une autre chose est handler(request, *args)
, mais essentiellement c'est la même chose que ce qui est suggéré ci-dessus.