variable template tag examples bootstrap python django syntax-error migrate

template - SyntaxError: la expresión del generador debe estar entre paréntesis/python manage.py migrate



import django template (4)

Además, actualizar Django solucionó mi problema.

En tu terminal,

$ pip install -U Django

o ver here

Soy realmente nuevo en programación y quería seguir el tutorial de Djangogirls, pero ahora estoy atascado. En el tutorial, estoy here :

Para crear una base de datos para nuestro blog, ejecutemos lo siguiente en la consola: python manage.py migrate (debemos estar en el directorio djangogirls que contiene el archivo manage.py). Si eso va bien, deberías ver algo como esto: ...

No hay ninguna opción para fallar en el tutorial, pero tengo un mensaje de error:

(myvenv) C:/Users/Julcsi/djangogirls> python manage.py migrate Traceback (most recent call last): File "manage.py", line 22, in <module> execute_from_command_line(sys.argv) File "C:/Users/Julcsi/djangogirls/myvenv/lib/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line utility.execute() File "C:/Users/Julcsi/djangogirls/myvenv/lib/site-packages/django/core/management/__init__.py", line 338, in execute django.setup() File "C:/Users/Julcsi/djangogirls/myvenv/lib/site-packages/django/__init__.py", line 27, in setup apps.populate(settings.INSTALLED_APPS) File "C:/Users/Julcsi/djangogirls/myvenv/lib/site-packages/django/apps/registry.py", line 85, in populate app_config = AppConfig.create(entry) File "C:/Users/Julcsi/djangogirls/myvenv/lib/site-packages/django/apps/config.py", line 94, in create module = import_module(entry) File "C:/Users/Julcsi/AppData/Local/Programs/Python/Python37/lib/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 723, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_remove File "C:/Users/Julcsi/djangogirls/myvenv/lib/site-packages/django/contrib/admin/__init__.py", line 4, in <module> from django.contrib.admin.filters import ( File "C:/Users/Julcsi/djangogirls/myvenv/lib/site-packages/django/contrib/admin/filters.py", line 10, in <module> from django.contrib.admin.options import IncorrectLookupParameters File "C:/Users/Julcsi/djangogirls/myvenv/lib/site-packages/django/contrib/admin/options.py", line 12, in <module> from django.contrib.admin import helpers, widgets File "C:/Users/Julcsi/djangogirls/myvenv/lib/site-packages/django/contrib/admin/widgets.py", line 152 ''%s=%s'' % (k, v) for k, v in params.items(), SyntaxError: Generator expression must be parenthesized

¿Qué estoy haciendo mal? ¿Qué tengo que hacer?

Tengo Python 3.7.0b1

Muchas gracias de antemano por la ayuda :)


La versión del tutorial de Django Girls en inglés acaba de cambiarse a Django 2.0, que debería hacerla compatible con Python 3.7. (Django 2.0 incluye un backport de la solución mencionada en la respuesta de Ry- ).

Así que todos los que comienzan el tutorial ahora deberían estar bien con Python 3.7.

Si ya has comenzado el tutorial, deberías comenzar de nuevo en el capítulo de instalación de Django . djangogirls hacerlo en un nuevo directorio (ya sea eliminar o renombrar su directorio actual de djangogirls o elegir un nombre diferente para el nuevo directorio) como los archivos generados por

django-admin print startproject mysite .

Depende de la versión de Django en uso.


No estás haciendo nada malo; Este es un problema entre Django y Python 3.7. Django tiene una solución , pero esa solución aún no se ha convertido en una nueva versión.

Puede instalar la versión estable de Python, Python 3.6, mientras tanto.


Según las preguntas frecuentes de Django, Django 1.11.x no es compatible con Python 3.7.

Django 1.11.x llegó al final del soporte general el 2 de diciembre de 2017 y solo recibe correcciones de seguridad y pérdida de datos hasta el final de su vida útil.