Cheatsheet: Modelos de OpenAI — Cuál usar y cuándo
Guía actualizada de todos los modelos de OpenAI con sus capacidades, precios, contexto y casos de uso recomendados. Incluye GPT-4o, o1 y más.
Lista completa de configuraciones de Django que debes ajustar antes de ir a producción. Seguridad, performance, logging, email y más.
Todo lo que necesitas configurar antes de hacer deploy. Copia este archivo como tu settings/production.py y ajusta los valores.
import os
DEBUG = False
SECRET_KEY = os.environ['SECRET_KEY']
ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', '').split(',')
# HTTPS
SECURE_SSL_REDIRECT = True
SECURE_HSTS_SECONDS = 31536000
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
SECURE_HSTS_PRELOAD = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
# Protección adicional
X_FRAME_OPTIONS = 'DENY'
SECURE_CONTENT_TYPE_NOSNIFF = True
SECURE_BROWSER_XSS_FILTER = True
CSRF_TRUSTED_ORIGINS = [f'https://{h}' for h in ALLOWED_HOSTS]
import dj_database_url
DATABASES = {
'default': dj_database_url.config(
default=os.environ['DATABASE_URL'],
conn_max_age=600, # Connection pooling: mantener 10 min
conn_health_checks=True, # Verificar conexión antes de usar
ssl_require=True, # Forzar SSL (Heroku, Railway, Render)
)
}
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware', # Justo después de security
# ... resto de middleware
]
STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'staticfiles'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
if os.environ.get('USE_S3'):
AWS_ACCESS_KEY_ID = os.environ['AWS_ACCESS_KEY_ID']
AWS_SECRET_ACCESS_KEY = os.environ['AWS_SECRET_ACCESS_KEY']
AWS_STORAGE_BUCKET_NAME = os.environ['AWS_STORAGE_BUCKET_NAME']
AWS_S3_REGION_NAME = os.environ.get('AWS_S3_REGION_NAME', 'us-east-1')
AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'
AWS_DEFAULT_ACL = None
AWS_S3_OBJECT_PARAMETERS = {'CacheControl': 'max-age=86400'}
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
MEDIA_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/media/'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = os.environ.get('EMAIL_HOST', 'smtp.gmail.com')
EMAIL_PORT = int(os.environ.get('EMAIL_PORT', 587))
EMAIL_USE_TLS = True
EMAIL_HOST_USER = os.environ['EMAIL_HOST_USER']
EMAIL_HOST_PASSWORD = os.environ['EMAIL_HOST_PASSWORD']
DEFAULT_FROM_EMAIL = os.environ.get('DEFAULT_FROM_EMAIL', EMAIL_HOST_USER)
SERVER_EMAIL = DEFAULT_FROM_EMAIL
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '{levelname} {asctime} {module} {message}',
'style': '{',
},
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'formatter': 'verbose',
},
},
'root': {
'handlers': ['console'],
'level': 'WARNING',
},
'loggers': {
'django': {'handlers': ['console'], 'level': 'WARNING'},
'django.request': {'handlers': ['console'], 'level': 'ERROR'},
},
}
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': os.environ.get('REDIS_URL', 'redis://localhost:6379/1'),
'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient'},
'TIMEOUT': 300,
}
}
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
# Verificar settings de seguridad
python manage.py check --deploy
# Variables de entorno mínimas
SECRET_KEY=...
DATABASE_URL=postgres://...
ALLOWED_HOSTS=tudominio.com
EMAIL_HOST_USER=...
EMAIL_HOST_PASSWORD=...
# Opcional pero recomendado
USE_S3=True
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_STORAGE_BUCKET_NAME=...
REDIS_URL=redis://...
SENTRY_DSN=... # Monitoreo de errores
Este recurso incluye un enlace externo. Regístrate para acceder.
Regístrate gratis para descargar archivos, guardar recursos en favoritos, ganar XP y acceder a cursos y el foro de la comunidad.
¿Ya tienes cuenta? Inicia sesión
Autor
Erik Taveras
Creado por
Erik Taveras
Guía actualizada de todos los modelos de OpenAI con sus capacidades, precios, contexto y casos de uso recomendados. Incluye GPT-4o, o1 y más.
Referencia rápida de los patrones más usados en FastAPI. Dependency injection, middlewares, background tasks, responses y validación.
Referencia rápida de queries avanzados del ORM de Django. Aggregations, annotations, subqueries, F expressions, Q objects y optimización de consultas.