Api.urls не работают после использования django-hosts для поддомена

я пытаюсь использовать поддомен для api в моем проекте и использую django-hosts для этого. но после реализации этого, как указано в документации, появляется ошибка Page not found (404), когда я обращаюсь к любому URL моего приложения 'api'

project/hosts.py

from django_hosts import patterns, host
from django.conf import settings

host_patterns = patterns('',
    host(r'www', settings.ROOT_URLCONF, name='www'),
    host(r'api', 'apps.api.urls', name='api'),
)

project/settings.py

def ip_addresses():
    ip_list = []
    for interface in netifaces.interfaces():
        addrs = netifaces.ifaddresses(interface)
        for x in (netifaces.AF_INET, netifaces.AF_INET6):
            if x in addrs:
                ip_list.append(addrs[x][0]['addr'])
    return ip_list


ALLOWED_HOSTS = ip_addresses()
ALLOWED_HOSTS.append('.localdemo.in')
ALLOWED_HOSTS.append('.api.localdemo.in')
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'apps.core',
    'apps.api',
    # Third party
    'django_hosts',
]

MIDDLEWARE = [
    'django_hosts.middleware.HostsRequestMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'drf_api_logger.middleware.api_logger_middleware.APILoggerMiddleware',  
    'django_hosts.middleware.HostsResponseMiddleware',
]

ROOT_URLCONF = 'project.urls'

ROOT_HOSTCONF = 'project.hosts'
DEFAULT_HOST = 'www'

project/urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('apps.core.urls')),
    ]
handler404 = "apps.core.views.customerrors.custom_handler404"
handler403 = "apps.core.views.customerrors.custom_handler403"

apps/api/urls.py

from django.urls import path, include, re_path
from django.conf.urls import url
from .views import statisticsview

urlpatterns = [
    path('v1/statistics', statisticsview.StatisticsListView.as_view(), name='statistics_list'),
    re_path(r'^statistics/$', statisticsview.StatisticsListView.as_view(), name='statistics_list'),
    re_path(r'statistics/', statisticsview.StatisticsListView.as_view(), name='statistics_list'),

файл hosts внутри windows/system32/drivers/etc/hosts

127.0.0.1       localdemo.in
127.0.0.1       api.localdemo.in

теперь, когда я обращаюсь к localdemo.in:8000, он работает нормально, но я не могу получить доступ к api.localdemo.in:8000/v1/statistics/ там ошибка page not found, и я не знаю почему, пробовал все urlpatter, написанные в api/urls.py

работает только URL, в котором путь URL пуст, как этот на api.localdemo.in:8000, но другие не работают (ошибка page not found на api.localdemo.in:8000/v1/statistics/)

re_path('', statisticsview.StatisticsListView.as_view(), name='statistics_list'),
Вернуться на верх