2017-08-17 9 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を取得しておきます。複数のアプリを持っているときにURLを設定する正しい方法は何ですか?私は、プロジェクトとは独立した各アプリケーション用のurls.pyファイルを持っていたいと思います。ルートのurls.pyには、さまざまなアプリケーションへのルーティングが含まれます。あなたはURLではないユーザーをインポート

答えて

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'と' URL(R」^users/'、users.urls) ' –

関連する問題