Red de conocimiento informático - Conocimiento informático - Cómo resolver el problema del error de migración de Django 1.8

Cómo resolver el problema del error de migración de Django 1.8

1. Cree un proyecto

Ejecute el siguiente comando para crear un proyecto de Django llamado mysite:

$ django-admin.py startproject mysite

El directorio del proyecto es de la siguiente manera:

p>

mi sitio

├─ administrar.py

└─ mi sitio

├─ __init__.py

├─ configuración .py

├─ urls.py

└─ wsgi.py

1 directorio, 5 archivos

Descripción:

__init__.py: permite que Python trate el directorio como un paquete de desarrollo (es decir, un conjunto de módulos). Este es un archivo vacío y generalmente no es necesario modificarlo.

manage.py: una herramienta de línea de comandos que te permite interactuar con este proyecto Django de varias maneras. Escriba python Manage.py help para ver qué hace. No es necesario editar este archivo; se genera en este directorio simplemente por conveniencia.

settings.py: Ajustes o configuración para este proyecto Django.

urls.py: configuración de enrutamiento de URL para proyectos de Django. Actualmente vacío.

wsgi.py: Archivo de configuración del servidor de aplicaciones web WSGI. Para obtener más información, consulte Cómo implementar con WSGI

A continuación, puede modificar el archivo settings.py, como cambiar LANGUAGE_CODE, configurar la zona horaria TIME_ZONE

SITE_ID = 1

LANGUAGE_CODE = 'zh_ CN'

TIME_ZONE = 'Asia/Shanghai'

USE_TZ = True

[Zona horaria](/es/ 1.7/topics/i18n/timezones/) la función está activada y es necesario instalar pytz:

$ $ sudo pip install pytz

Ejecute el proyecto

Antes de ejecutar el proyecto, necesitamos crear la base de datos y la estructura de la tabla, aquí estoy usando la base de datos predeterminada:

$ python managers.py migrar

Operaciones a realizar:

A Acción realizada:

Aplicar python enable.py para migrar a la base de datos.

Aplicar todas las migraciones: admin, contenttypes, auth, session

Ejecutar migraciones:

Aplicar contenttypes.0001_initial... OK

Aplicar auth.0001_initial...OK

Aplicar admin.0001_initial...OK

Aplicar sesiones.0001_initial...OK

Luego inicia el servicio:

$ python Manage.py RunServer

Verá el siguiente resultado:

Realizando una comprobación del sistema...

Se encontró una comprobación del sistema nada Preguntas (0 silencios).

28 de enero de 2015 - 02:08:33

Django versión 1.7.1, usando la configuración "mysite.settings"

En el caso de mon Start el servidor de desarrollo, por lo que Django proporciona un atajo para

#búsqueda precisa de clave primaria.

# El siguiente contenido es el mismo que Question.objects.get(id=1).

gt;gt;gt; Question.objects.get(pk=1)

lt; Pregunta:

# Asegúrese de que nuestro método personalizado sea válido.

gt;gt;gt

# Dar a la pregunta varias opciones. La llamada de creación construirá un nuevo

# objeto Choice, ejecutará la instrucción INSERT, agregará la opción al conjunto de opciones disponibles

# y devolverá el nuevo objeto Choice. Django crea

# una colección para contener el "otro lado" de una relación de clave externa

# (como la elección de una pregunta), a la que se puede acceder a través de la API. get(pk=1)

# Muestra las opciones del conjunto de objetos relacionados, ninguna hasta el momento.

gt; q.choice_set.all()

gt; p>

[]

# Crea tres opciones.

gt;gt;gt; q.choice_set.create(choice_text='No mucho', votos=0)

lt; Elección: Choice_set.create(choice_text= 'Simplemente hackeando de nuevo', votos=0)

# El objeto de selección puede acceder a sus objetos de preguntas relacionados a través de la API.

gt;gt;gt; c.question

lt;Question:

# Viceversa: el objeto pregunta tiene acceso al objeto de selección.

gt;gt;gt;q.choice_set.all()

[Opción: no mucho gt;,lt;Opción: skygt;,lt;Opción: simplemente Hackear de nuevo gt ;]

gt;gt;gt; q.choice_set.count()

3

# La API realizará un seguimiento automático según la relación de sus necesidades.

# Utilice guiones bajos dobles para separar relaciones.

# Puedes llegar tan profundo como quieras, no hay límite.

# Encuentre todas las selecciones para cualquier número con una fecha de publicación dentro de este año

# (reutilice la variable "current_year" que creamos anteriormente).

gt;gt;gt;Choice.objects.filter(question__pub_date__year=current_year)

[Elección: no mucho>,lt;Elección: cielo>,lt; gt;]

# Eliminemos una de las opciones.

gt; gt; c = q.choice_set.filter(choice_text__startswith='Solo hackear')

gt;

gt; gt;

Esta parte de la prueba anterior implica conocimientos relacionados con Django. Para obtener instrucciones detalladas, consulte

5. p>Django Hay una función excelente, la interfaz de administración en segundo plano del administrador de Django incorporada, que hace que sea conveniente para los administradores agregar y eliminar contenido del sitio web.

El nuevo sistema de proyectos ha configurado la administración en segundo plano para nosotros; consulte mysite/settings.py:

INSTALLED_APPS = (

'django.contrib.admin ', #Añadir gestión en segundo plano de forma predeterminada

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib. sesiones ',

'django.contrib.messages',

'django.contrib.staticfiles',

'mi sitio',

)

También se ha agregado la URL de administración en segundo plano, que se puede encontrar en mysite/urls.py:

url(r'^admin/', include(admin.site .urls)), #Esta URL se puede utilizar para acceder al backend del sitio web

A continuación, necesitamos crear un usuario administrador para iniciar sesión en el backend de administración:

$ python administrar .py createsuperuser

Nombre de usuario (deje en blanco para usar "junio"): admin

Dirección de correo electrónico:

Contraseña:

Contraseña ( nuevamente):

Superusuario creado exitosamente.

py

├── mi sitio

│ ├── __init__.py

│ ├── configuración .py

│ ├─ ─ urls.py

│ ├── wsgi.py

│ ├── encuestas

│ ├── __init__.py

│ ├─ admin.py

│ ├── Migración

│ │ ├── 0001_initial.py

│ ├── __init__.py

│ ├── modelos.py

│ ├─── plantillas

│ │ └── encuestas

│ │ ├── detalle.html

│ │ ├── index.html

│ ├─ admin.index.html

│ │ └── resultados.html

│ ├── pruebas.py

│ ├─ urls.py

│ ├─ vistas.py

└── plantillas

└─ admin

└─ base_site.htm

A través de la introducción anterior, tendrá una comprensión clara de la instalación y operación de Django y de cómo crear vistas. y modelos, luego podrá aprender más sobre las pruebas automáticas, la persistencia, el middleware, la internacionalización y otros conocimientos de Django.