2017-08-17 22 views
1

我有一個名爲main的django-rest項目,下面我創建了一個名爲users的應用程序。所以,我的項目有文件: -多個應用程序的Django Rest Framework URL映射

主/主/ urls.py

主/用戶/ urls.py

在用戶/urls.py我有

from django.conf.urls import url, include 
from rest_framework import routers 
from users import views 

router = routers.DefaultRouter() 
router.register(r'users', views.UserViewSet) 

,並在主/主/ urls.py我

from django.conf.urls import url 
from django.contrib import admin 

from users import urls 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^users/', users.urls), 
] 

不過,我不斷收到錯誤NameError: name 'users' is not defined。當我有多個應用程序時,設置網址的正確方法是什麼?我想爲每個獨立於項目的應用程序提供一個urls.py文件。而在根urls.py將包括路由到不同的應用程序。

回答

2

您導入網址不是用戶,可以嘗試

from users import urls as users_url 
#      ^^^^^^^^ 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^users/', users_url), 
    #    ^^^^^^^ 
] 

但更好:

from django.conf.urls import url, include 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^users/', include('users.url')), 
    #    ^^^^^^^ 
] 

詳情including-other-urlconfs

+1

,或者,'進口users'和'網址(R」^users /',users.urls)' –

相關問題