Django: gestión de proyectos

De nuxpy
Ir a la navegación Ir a la búsqueda

En este artículo se describen algunos comandos básicos para la gestión de proyectos usando el framework django.

Antes que nada, se puede crear un directorio de trabajo donde se crearán los diversos proyectos. Dentro de cada proyecto se generará por defecto un directorio padre o directorio principal del proyecto, generalmente se crea con el mismo nombre del directorio raíz del proyecto, es decir:

Si nuestro proyecto se llama: nuxpy, ese será el directorio raíz del proyecto, pero también se creará dentro de este directorio un subdirectorio llamado nuxpy que será el directorio principal del sitio web del proyecto.

   nuxpy
     |--- nuxpy
     '--- manage.py

Cabe mencionar que por defecto django se apoya sobre un manejador de base de datos sqlite.

Creación de proyectos

La creación de un proyecto se realiza de la siguiente manera:

django-admin startproject nuxpy .

Se generará un árbol parecido al siguiente:

nuxpy
├── nuxpy
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py

Creación de apps

La creación de apps se debe realizar dentro del directorio raíz del proyecto de la siguiente manera:

python manage.py startapp myapp1

Esta aplicación puede usarse dentro del proyecto desde cualquier parte de dicho proyecto, incluso desde cualquier otra aplicación asociada al proyecto.

Luego se debe integrar la aplicación al proyecto.

Iniciar servicio de proyecto

Se puede iniciar el servicio del proyecto a través del siguiente comando:

python manage.py runserver

Por defecto el proyecto inicia sobre el puerto 8000. Sin embargo, se puede cambiar el puerto de la siguiente manera:

python manage.py runserver 8004

Una vez que se inicia el servicio del proyecto, se puede visualizar desde el navegador web con la siguiente URL: http://127.0.0.1:8004/

Fichero settings.py

De los ficheros principales que se usan para la configuración global del programa es el fichero settings.py, existen algunas variables que no vienen por defecto pero que son medianamente importantes e interesantes agregar para la configuración del proyecto.

Aquí se listan algunas más destacadas:

STATIC_ROOT = os.path.join(BASE_DIR, STATIC_URL)

AUTH_USER_MODEL = 'APP_BASE.User'

LOGIN_URL = '/DIRECTORIO_LOGIN/'
LOGIN_REDIRECT_URL = '/DIRECTORIO_BASE_DESPUES_DE_LOGIN/'
LOGOUT_REDIRECT_URL = '/DIRECTORIO_LOGIN/'

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, MEDIA_URL)

FIXTURE_DIRS = [
    os.path.join(BASE_DIR, 'fixtures')
]

Temas relacionados