Django "ValueError: встроенный нулевой байт" - PullRequest
1 голос
/ 01 июня 2019

Я только что установил Django и изменил БАЗЫ ДАННЫХ с sqlite3 на mysql в settings.py, но когда я запускаю сервер, иногда возникает «ValueError: внедренный нулевой байт». Что мне делать?

  • Python 3.6.1
  • Django версия 2.2.1
(myproject) bash-3.2$ python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 60, in execute
    super().execute(*args, **options)
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 95, in handle
    self.run(**options)
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 102, in run
    autoreload.run_with_reloader(self.inner_run, **options)
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/utils/autoreload.py", line 577, in run_with_reloader
    start_django(reloader, main_func, *args, **kwargs)
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/utils/autoreload.py", line 562, in start_django
    reloader.run(django_main_thread)
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/utils/autoreload.py", line 280, in run
    self.run_loop()
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/utils/autoreload.py", line 286, in run_loop
    next(ticker)
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/utils/autoreload.py", line 326, in tick
    for filepath, mtime in self.snapshot_files():
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/utils/autoreload.py", line 342, in snapshot_files
    for file in self.watched_files():
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/utils/autoreload.py", line 241, in watched_files
    yield from iter_all_python_module_files()
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/utils/autoreload.py", line 103, in iter_all_python_module_files
    return iter_modules_and_files(modules, frozenset(_error_files))
  File "/Users/mydir/.virtualenvs/myproject/lib/python3.6/site-packages/django/utils/autoreload.py", line 132, in iter_modules_and_files
    results.add(path.resolve().absolute())
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/pathlib.py", line 1122, in resolve
    s = self._flavour.resolve(self, strict=strict)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/pathlib.py", line 349, in resolve
    return _resolve(base, str(path)) or sep
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/pathlib.py", line 331, in _resolve
    target = accessor.readlink(newpath)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/pathlib.py", line 443, in readlink
    return os.readlink(path)
ValueError: embedded null byte

Ответы [ 2 ]

1 голос
/ 20 июня 2019

У меня та же проблема, отладка выглядит так, как будто она вызвана введением сторожа в v2.2.0, так как снижение до v1.9.0 удаляет его.

Странно то, что иногда сервер будетначало, ошибка, кажется, не возникает каждый раз, однако я вполне уверен, что это связано с виртуальной средой.

Исправления:

Отключить перезагрузку (не идеально)

python manage.py runserver --noreload

Создать конфигурацию сторожа и игнорировать venv

https://docs.djangoproject.com/en/2.2/ref/django-admin/#runserver

https://facebook.github.io/watchman/docs/config.html#ignore_dirs

Однако я не могу получить ignore_dirs дляработа ...

Джанго билет

https://code.djangoproject.com/ticket/30506

0 голосов
/ 01 июня 2019

это моя настройка MySQL.

 DATABASES = {
       'default': {
         'ENGINE': 'django.db.backends.mysql',
         'NAME': 'novoair',
         'USER': 'root',
         'PASSWORD': 'root@123',
         'HOST': 'localhost',
         'PORT': '3306',
     },
 }

имя пользователя пароль хост-порт установлен в соответствии с

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...