Archivo de configuración de Django: explicación paso a paso

Una vez que creamos el proyecto Django, viene con una estructura de directorio predefinida que tiene los siguientes archivos y cada archivo tiene sus propios usos. 

Tomemos un ejemplo 
 

// Create a Django Project "mysite" 
django-admin startproject mysite

cd /pathTo/mysite
// Create a Django app "polls" inside project "mysite"
python manage.py startapp polls

Después de estos comandos en la estructura del directorio Terminal/CMD del proyecto “misitio” será: 
 

mysite           <-- BASE_DIR      
    --> mysite                 
            -> __init__.py
            -> asgi.py
            -> settings.py    <-- settings.py file 
            -> urls.py
            -> wsgi.py
    --> manage.py
    --> polls

Información sobre el archivo settings.py

Un archivo de configuración de Django contiene toda la configuración de su proyecto Django. En este artículo se discutirán los puntos importantes del archivo settings.py de Django. 
Un archivo de configuración es solo un módulo de Python con variables a nivel de módulo. 
 

BASE_DIR

BASE_DIR apunta a la jerarquía superior del proyecto, es decir , mysite , cualquier ruta que definamos en el proyecto es relativa a BASE_DIR. Para usar BASE_DIR tendremos que usar el módulo os provisto por python. 
 

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

DEPURAR

En el desarrollo es muy obvio que ocurra un error . No es divertido escribir un programa en el que no nos enfrentamos a ningún error. pero a veces abordar los errores es muy agitado. Django proporciona un depurador incorporado que hace que la vida del desarrollador sea muy fácil. Podemos usarlo haciendo: 
 

DEBUG = True  // It is Default value and is preferred in only Development Phase.

En producción, se prefiere  DEBUG = False .

ANFITRIONES_PERMITIDOS

ALLOWED_HOSTS es una lista con direcciones de todos los dominios que pueden ejecutar su proyecto Django. 
 

Cuando DEBUG se establece en True 
, ALLOWED_HOSTS puede ser una lista vacía, es decir, ALLOWED_HOSTS=[ ] porque, de forma predeterminada, es 127.0.0.1 o localhost 
. Cuando DEBUG se establece en False 
, ALLOWED_HOSTS no puede ser una lista vacía. Tenemos que dar el nombre de los hosts en la lista. es decir, PERMITIDOS_HOSTS=[“127.0.0.1”, “*.heroku.com”] . “127.0.0.1” representa su PC, “*.heroku.com” representa que esta aplicación también se puede ejecutar en heroku. 
 

APLICACIONES_INSTALADAS

En esta sección, mencionamos todas las aplicaciones que se utilizarán en nuestro proyecto Django. Anteriormente hicimos una aplicación de encuestas , tenemos que decirle a Django su existencia. Para hacerlo, debemos poner en INSTALLED_APPS: 
 

    INSTALLED_APPS = [
        // Some preloaded apps by Django,
        'polls', // don't forget to quote it and also commas after every app
]

BASES DE DATOS

Django soporta oficialmente las siguientes bases de datos: 
 

  • postgresql
  • MariaDB
  • mysql
  • Oráculo
  • SQLite <– Por defecto
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }

También hay varios backends de bases de datos proporcionados por terceros
Aquí hay un ejemplo de uso de PostgreSQL 
 

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': YOUR_DB_NAME,
            'USER': USERNAME,
            'PASSWORD': PASSWORD_FOR_DB,
            'HOST': 'localhost'  // in Development.
        }
    }

Nota: Antes de usar PostgreSQL tenemos que instalar psycopg2 usando 
pip install psycopg2

Variables de URL

Las variables de URL son relativas a BASE_DIR. Estas variables se utilizan para almacenar archivos, ya sean multimedia o estáticos. 
Nota: cree carpetas estáticas y de medios en el directorio principal. 
 

MEDIO_URL

MEDIA_URL es la ruta relativa a BASE_DIR. Esta variable se utiliza para almacenar los archivos multimedia. 
 

MEDIA_URL= '/media/'

STATIC_URL

STATIC_URL es la ruta relativa a BASE_DIR. Esta variable se utiliza para almacenar los archivos estáticos. 
 

STATIC_URL = '/static/'

Variables raíz

Las variables ROOT son rutas absolutas. Estas variables se utilizan para recuperar archivos, ya sean multimedia o estáticos. 

MEDIA_ROOT

MEDIA_ROOT es la ruta absoluta. Esta variable se utiliza para recuperar los archivos multimedia. 
 

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

RAÍZ_ESTÁTICA

STATIC_ROOT es la ruta absoluta. Esta variable se utiliza para recuperar los archivos estáticos. 
 

STATIC_ROOT= os.path.join(BASE_DIR, 'static')

Nota: Todos los nombres de variables en la configuración de Django están en MAYÚSCULAS.

Publicación traducida automáticamente

Artículo escrito por Vikku_Sharma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *