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