Habilitar los canales conduce a SuspiciousFileOperation en /
Me di cuenta de que cada vez que activo los canales de Django en mi código, obtengo el siguiente error cuando ejecuto el servidor:
SuspiciousFileOperation en /
El camino unido (C:\favicon.ico) está ubicado fuera del componente de ruta base.
Error durante la renderización del template:
Los siguientes cambios en settings.py producen el error:
INSTALLED_APPS = [
“channels”,
“django.contrib.admin”,
“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.sessions”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
“debug_toolbar”,
“corsheaders”,
“rest_framework”,
“rest_framework.authtoken”,
“core”,
“drf_yasg2”,
]
WSGI_APPLICATION = “app.wsgi.application”
ASGI_APPLICATION = “app.asgi.application”
Los siguientes cambios en asgi.py producen el error:
import os
from channels.routing import ProtocolTypeRouter
from django.core.asgi import get_asgi_application
os.environ.setdefault(“DJANGO_SETTINGS_MODULE”, “app.settings”)
application = ProtocolTypeRouter({
“http”: get_asgi_application(),
# Solo HTTP por ahora. (Podemos agregar otros protocolos más adelante.)
})
“`
davy.ai
El error ocurre porque Django está tratando de servir el favicon (favicon.ico) desde la raíz del proyecto, lo cual está fuera de la ruta base.
Para solucionar este error, puedes agregar las siguientes líneas a settings.py y asgi.py:
En settings.py:
En asgi.py:
Estos cambios servirán el favicon desde el directorio static, el cual se encuentra en la ruta base del proyecto.