Cómo crear un sitio web Django
Ejecute el siguiente comando para crear un proyecto Django llamado mysite:
$ django-admin . es el siguiente:
Mi sitio web
├──Management.py
└──Mi sitio web
├── __init__. Paraguay
├──Configuración.py
├──Sitio Web.py
└──Wall Street Journal
1 Tabla de Contenido, 5 Archivo
Descripción:
__init__. py: permita que Python trate este directorio como los archivos requeridos por un paquete de desarrollo (es decir, un conjunto de módulos). Este es un archivo vacío. Generalmente no se requiere ninguna modificación.
Manage.py: una herramienta de línea de comandos que te permite interactuar con este proyecto Django de varias maneras. Escriba python enable.py help y vea qué hace. No debería necesitar editar este archivo; se genera en este directorio simplemente por conveniencia.
Settings.py: Los ajustes o configuración de este proyecto Django.
URLs.py: configuración de enrutamiento de URL para proyectos de Django. Actualmente está vacío.
wsgi.py: Archivo de configuración del servidor de aplicaciones web wsgi. Consulte Cómo implementar con WSGI para obtener más detalles.
A continuación, puede modificar el archivo settings.py, como modificar LANGUAGE_CODE y configurar la zona horaria TIME_ZONE.
SITE_ID = 1
Código de idioma = 'zh_CN '
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = Verdadero
La función [zonas horarias](/es/1.7/topics/I 18n/timezones/) está activada y es necesario instalar pytz:
$ sudo pip install pytz
Ejecutar el proyecto
Antes de ejecutar el proyecto, necesitamos crear una base de datos y una estructura de tablas. Aquí uso la base de datos predeterminada:
$ python Manage.py migración
¿Qué hacer:
? Aplicar todas las migraciones: Gestión, Tipos de contenido, Validación, Sesiones
Ejecutar migraciones:
? Aplicar tipos de contenido 0001 _ inicial... ¿OK
? Solicitar autorización 0001_Inicial... ¿OK
? Aplicar para administrador 0001_initial... ¿OK
? Aplicando sesión. 0001_initial... OK
Luego inicie el servicio:
$ python Manage.py Runserver
Verá el siguiente resultado:
Realizando una verificación del sistema...
La verificación del sistema no encontró problemas (0 silencio).
28 de enero de 2065 05:02:08:33
Django versión 1.7.1, usando la configuración 'mysite.settings'
En caso común, inicie el servidor de desarrollo, por lo que Django proporciona un
# acceso directo para una búsqueda precisa de la clave principal.
#Lo siguiente es lo mismo que los objetos de pregunta.
gt gt gtQuestion.Object.Get(pk=1)
ltP: ¿Qué pasa? gt
#Asegúrese de que nuestros métodos de personalización funcionen.
gt gt gtq = pregunta.objetos get(PK = 1)
#Dale varias opciones a la pregunta. La llamada de creación construye un nuevo
# objeto Choice, ejecuta la instrucción INSERT, agrega la opción a la colección
El número de opciones disponibles y devuelve el nuevo objeto de opción. Django creó
# una colección que contiene el "otro lado" de una relación de clave externa
# (como la selección de la pregunta), accesible a través de la API.
gt gt gtq = question .objects . get(PK = 1)
#Mostrar cualquier opción en el conjunto de objetos relacionados; actualmente ninguna.
gt gt gtq.choice_set.all()
[]
#Crea tres opciones.
gt gt gtq . elección _ set create(choice _ text = 'No muchos', votos=0)
ltChoice: No muchos gt
gt gt gtq . elección _ set create(choice _ text = 'El cielo ', votos=0)
ltchoice: skygt
gt gt gtc = q . (choice _ text = 'Solo un truco más', votos = 0)
# El objeto Choice tiene acceso API a sus objetos de preguntas relacionados.
gt gt gtPregunta
ltP: ¿Qué pasa? gt
# Viceversa: el objeto problemático tiene acceso al objeto de selección.
gt gt gtq.choice_set.all()
[ lt; elección: no muchos gt, lt elección: cielo gt, lt elección: invadir de nuevo gt]
gt gt gtq.choice_set.count()
三
La API rastrea automáticamente las relaciones según sus necesidades.
#Utilice guiones bajos dobles para separar relaciones.
#Esto funciona a cualquier profundidad que desees; sin restricciones.
#Encontrar todas las opciones para cualquier número con fecha de publicación dentro de este año
# (reutilizando la variable "current_year" que creamos arriba).
gt gt gtChoice.objects.filter(question__release_date__year=current-year)
[ lt;Elección: no muchos gt, ltChoice: sky gt, lt Elección: Invadir gt de nuevo]
#Eliminemos una de las opciones. Para hacer esto, use eliminar().
gt gt gtc = q . elección _ set filter(choice _ text __ comienza con = 'Solo un truco')
gt gt gtdelete()
gt gt gt
Las pruebas anteriores implican conocimientos sobre Django ORM. Para obtener una descripción detallada, consulte ORM en Django.
El quinto paso es la administración de la gestión
Django tiene una característica excelente: tiene una interfaz de administración en segundo plano incorporada de Django para facilitar a los administradores agregar y eliminar contenido del sitio web.
El nuevo sistema de proyectos ha configurado funciones de gestión en segundo plano para nosotros. Consulte mysite/settings.py:
INSTALLED_APPS =(
' Django.contrib.admin ', #Agregar funciones de administración en segundo plano de forma predeterminada.
' django
' django.contrib.contenttypes ',
' django.contrib.sessions ',
' django.contrib.messages '. ,
' django.contrib.staticfiles ',
"Mi sitio web",
)
Al mismo tiempo, el fondo Se agrega la URL de administración, se puede ver en mysite/urls.py:
Url (r' admin/', include (admin.site.Urls)), #Puede usar la URL configurada para ingresar el back-end del sitio web.
A continuación, necesitamos crear un usuario administrativo para iniciar sesión en la interfaz de administración en segundo plano:
$ python enable.py para crear un superusuario
Nombre de usuario (deje en blanco para usar "Junio"): admin
Dirección de correo electrónico:
Contraseña:
Contraseña (nuevamente):
Superusuario Creado con éxito.
Resumen
Finalmente, eche un vistazo a la estructura del directorio del proyecto:
Mi sitio web
├──Database.sqlite3 p>
├──Management.py
├──Mi sitio web
│ ?├── __init__. Paraguay
│ ?├──Configuración.py
│ ?├──Sitio web.py
│ ?├──Wall Street Journal
├──Encuesta
│ ?├── __init__. Paraguay
│ ?├──Centro de Gestión
│ ?├──Inmigración
│ ?│ ?├── 0001_initial.py
│ ?│ ?├── __init__. Paraguay
│ ?├──Model.py
│ ?├──Plantilla
│ ?│ ?└──Encuesta
│ ?│ ?detail.html├──
│ ?│ ?index.html├──
│ ?│ ?resultados.html└──
│ ?├──Test.py
│ ?├──Sitio web.py
│ ?├──py
└─ ─ Plantilla
└──Gestión
└──Base_website.htm?
A través de la introducción anterior, tenemos una comprensión clara de la instalación y operación de Django y cómo crear vistas y modelos, y luego podemos aprender las pruebas automatizadas, la persistencia, el middleware, la internacionalización y otros conocimientos de Django.
Si tu problema se soluciona, ¡acéptalo!
Si no se resuelve, por favor continúa preguntando.