Files
2026-08-02 14:07:04 +08:00

38 lines
1.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# routing.py
"""
ASGI config for django_cat project.
It exposes the ASGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/5.1/howto/deployment/asgi/
"""
from sixGuoDjango.settings import BASE_DIR
"""asgi路由"""
import os
os.environ.setdefault(key='DJANGO_SETTINGS_MODULE', value=f"{BASE_DIR.name}.settings")
from django.core.asgi import get_asgi_application
from channels.routing import ProtocolTypeRouter, URLRouter
from django_channels import consumers, tableConsumer
from django.urls import path
application = ProtocolTypeRouter(
{
"http": get_asgi_application(), # 如果处理http请求就走这里
"websocket": URLRouter(
[
# re_path(r'room/(?P<group>\w+)/$', consumers.ChatConsumer.as_asgi()),
path(route="room/", view=consumers.ChatConsumer.as_asgi()), # 调用第一个类处理业务
# path("web/<str:params>/", tableConsumer.TableConsumer.as_asgi()), # 调用第二个类处理业务
],
)
},
)
# AllowedHostsOriginValidator:
# 这是一个安全中间件,用于验证WebSocket连接请求的Origin头部是否包含在ALLOWED_HOSTS设置中。
# 这是防止跨站伪造攻击(Cross-Site Request Forgery, CSRF)的一种措施,
# 确保只有来自信任源(通常是应用自己的域名)的WebSocket连接请求才能被接受。
# 如果请求的Origin不在允许列表中,此中间件会拒绝连接。