SyntaxError: выражение генератора должно быть заключено в скобки
Я только что установил django и после установки создал проект django и пытался запустить сервер django командой:
python manage.py runserver
После этого я получаю сообщение об ошибке: SyntaxError: выражение генератора должно быть заключено в скобки
Ответы
Ответ 1
TL; DR Обновите Django до последней версии.
Эта ошибка является известной несовместимостью, связанной с проблемой Python # 32012. Проекты, основанные на Django 1.11.16 и ниже, вызовут это исключение при запуске с Python 3.7. Патч для этой проблемы был объединен с ветками Django 2.0 и 2.1, а также с Django 1.11.17.
Примечание: Python 3.7 официально поддерживается Django 1.11.17 и выше, включая любую ветку 2.x.
Ответ 2
Выражение генератора должно быть заключено в скобки
> Обновить версию Django до 1.11.17
pip install django==1.11.17
Ответ 3
Имел такой же вопрос. Вот как я перешел на django версии 2.0 и использовал python3
- $ pip3 установить django == 2.0
- $ python3 manage.py runningerver
Ответ 4
Просто откройте файл:
venv/lib/python3.7/site-packages/django/contrib/admin/widgets.py
и заменить строки
related_url += '?' + '&'.join(
'%s=%s' % (k, v) for k, v in params.items(),)
с
related_url += '?' + '&'.join('%s=%s' % (k, v) for k, v in params.items())
Ответ 5
Просто откройте файл venv/lib/python3.7/site-packages/django/contrib/admin/widgets.py
и замените строки
related_url += '?' + '&'.join(
'%s=%s' % (k, v) for k, v in params.items(),
)
с
related_url += '?' + '&'.join('%s=%s' % (k, v) for k, v in params.items())