代码之家  ›  专栏  ›  技术社区  ›  Gozie

使用django主机时使用正确的命名空间

  •  0
  • Gozie  · 技术社区  · 5 年前

    所以我使用django主机,这样每个应用程序都有多个域。但是当我尝试访问我的每个应用程序的url索引时,我遇到了一个问题基本.html

    我想在我的基本.html文件

    <div>
        <ul>
            <li><a href="{% url 'home:index' %}">Home</a></li>
            <li><a href="{% url 'laundry:index' %}">Laundry</a></li>
            <li><a href="{% url 'tailor:index' %}">Tailor</a></li>
        </ul>
    </div>
    

    这是我的主机.py文件

    from django_hosts import patterns, host
    from django.conf import settings
    
    
    host_patterns = patterns(
        '',
        host(r'www', 'artisan.home_urls', name='www'),
        host(r'laundry', 'artisan.laundry_urls', name='laundry'),
        host(r'tailor', 'artisan.tailor_urls', name='tailor'),
        host(r'admin', settings.ROOT_URLCONF, name='admin')
    
    )
    

    # home_urls.py
    from django.urls import path, include
    
    app_name = 'home'
    urlpatterns = [
        path('', include('home.urls')),
    ]
    
    # tailor_urls.py
    from django.urls import path, include
    
    app_name = 'tailor'
    urlpatterns = [
        path('', include('tailor.urls')),
    ]
    
    # laundry_urls.py
    from django.urls import path, include
    
    app_name = 'laundry'
    urlpatterns = [
        path('', include('laundry.urls')),
    ]
    

    但问题是只有主页.url正在工作。对于洗衣房和定制的url,我一直得到一个名称空间错误,我不知道为什么。我在想也许我在定义主机.py文件,但我不确定。任何帮助都将不胜感激。如果还有其他文件需要你更好地理解这个问题,那就问吧。我很乐意提供一个。顺便说一句,如果有帮助的话,我将django3.0与python3.7一起使用。

    0 回复  |  直到 5 年前