python - variable - view template django




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

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 :)


Además, actualizar Django solucionó mi problema.

En tu terminal,

$ pip install -U Django

o ver here


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.


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.