Я нуждаюсь в том, чтобы решить проблему Джанго - manage.py createsuperuser | UnicodeEncodeError

Выполнив:

(env) luis@ux-pc:~/projects/administrador-webapp-django$ python3 manage.py createsuperuser
Nombre de usuario (leave blank to use 'luis'): superusername

У меня выходят ошибка Unicode:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/home/luis/projects/administrador-webapp-django/env/lib/python3.5/site-packages/django/core/management/__init__.py", line 38
1, in execute_from_command_line
    utility.execute()
  File "/home/luis/projects/administrador-webapp-django/env/lib/python3.5/site-packages/django/core/management/__init__.py", line 37
5, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/luis/projects/administrador-webapp-django/env/lib/python3.5/site-packages/django/core/management/base.py", line 316, i
n run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/luis/projects/administrador-webapp-django/env/lib/python3.5/site-packages/django/contrib/auth/management/commands/crea
tesuperuser.py", line 61, in execute
    return super().execute(*args, **options)
  File "/home/luis/projects/administrador-webapp-django/env/lib/python3.5/site-packages/django/core/management/base.py", line 353, i
n execute
    output = self.handle(*args, **options)
  File "/home/luis/projects/administrador-webapp-django/env/lib/python3.5/site-packages/django/contrib/auth/management/commands/crea
tesuperuser.py", line 140, in handle
    input_value = self.get_input_data(field, message)
  File "/home/luis/projects/administrador-webapp-django/env/lib/python3.5/site-packages/django/contrib/auth/management/commands/crea
tesuperuser.py", line 195, in get_input_data
    raw_value = input(message)
UnicodeEncodeError: 'ascii' codec can't encode character '\xf3' in position 7: ordinal not in range(128)

Это происходит, когда попробовал создавать пользователь, я искал UnicodeEncodeError: 'ascii' codec can't encode character '\xf3' in position 7: порядковый not in range (128) и я не встретил проблемы

Если какой-либо произошел с ним и это решил, я прошу, чтобы porfavor они имели мне решение, нуждаюсь в том, чтобы продвинуться в проекте, который у меня есть.

2
задан 26.11.2018, 02:22
3 ответа

В моем случае это solucionГ© изменяя терминал. В конечной остановке visualcode мне давала ошибка, но в gnome терминал не. Доказательство изменяя терминал.

-2
ответ дан 16.09.2019, 09:55

В stacktrace , что образцы он может, повернул в Гєltima lГ-neas (что, где нужно начинать расшифровывать ошибку):

    raw_value = input(message)
UnicodeEncodeError: 'ascii' codec can't encode character '\xf3' in position 7: ordinal not in range(128)

Гєltima lГ-nea показывает проблему (попробовав декодировать один байт стоимости f3, как ascii, он не был способен, что нормальное, потому что ascii он не имеет cГіdigos такие высокие, будучи Гєltimo 7f).

lГ-nea предыдущий показывает тебе в quГ© момент тебя cГіdigo шрифт surgiГі проблема и мы можем видеть, что это было, сделав один input(). Г‰ste читает ввода estГЎndar то, что набивает пользователь, и по-видимому между набитым habГ - в один байт стоимости f3, которая не ascii vГЎlido.

Тот факт, что появился один байт стоимости f3, заставляет меня подозревать, что твой encoding был cp1252 (windows), или МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ-8859-1 ИЛИ МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ-8899-15 (tambiГ©n знакомые как latin1 и latin9, соответственно, tГ-пики в старых версиях Linux, так как современные используют utf8). У этих encodings, о которых я только что упомянул, есть все они в ней posiciГіn f3 характер ó (или с тильдой).

Обычно python авто-обнаруживает encoding, использованный вводом estГЎndar, но видно, что в твоем случае он не удался, итак, (segГєn я hipГіtesis) ввод estГЎndar остается один из encodings, который mencionГ©, и python он взамен думает, что он ascii.

Иногда это происходит, если ввод estГЎndar приходит redireccionada из другой команды, в travГ©s pipe, как например:

$ cat fichero-datos.txt | python programa.py

В этом случае python обычно понимает, что Ваш ввод estГЎndar - ascii, и бить козырем, если то, что прибывает к нему из предыдущей команды, содержит байт не ascii.

К этим случаям, в которых она autodetecciГіn он не удается, ты можешь готовить так называемую переменную окружения PYTHONIOENCODING с подходящей стоимостью. В нашем случае serГ - в (предполагая, что latin1 - encoding, действительно использованный вводом estГЎndar):

$ export PYTHONIOENCODING=latin1
$ python programa.py
# o tambien
$ cat fichero.txt | python  programa.py
1
ответ дан 20.11.2019, 03:27

Доказательство размещая эту линию в файлах ".py" твоего проекта django как "manage.py" и "settings.py".

# -*- coding: utf-8 -*-

проверяет заблаговременно, что у тебя были миграции

python manage.py makemigrations
python manage.py migrate
1
ответ дан 20.11.2019, 03:27
  • 1
    Этот комментарий só это подает, чтобы говорить ему в python encoding из файла шрифт (и он не надо в Пайтоне 3, потому что он берет на себя ответственность по умолчанию utf8). Проблема пользователя не está ahí а в encoding из ввода está ndar. –  abulafia 17.11.2018, 12:09

Теги

Похожие вопросы