2016-12-29 15 views
2

私はDjangoとDjango RESTの新機能です。Django REST入れ子ルータ

アプリごとにネストされたルータを使用して推奨ルーティング方式を実装しようとしています。

例:

mysite.url.py:

urlpatterns = [ 
    url(r'^'+root_url+'/tinymce/', include('tinymce.urls')), 
    url(r'^'+root_url+'/admin/', admin.site.urls), 
    url(r'^'+root_url+'/swagger', swagger_schema_view), 
    url(r'^'+root_url+'/', include('blog.urls')), 
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

blog.urls.py:

django.core.exceptions.ImproperlyConfigured: The included URLconf '<module 'blog.urls' from 'C:\\Users\\user11\\PycharmProjects\\api_v2\\blog\\urls.py'>' does not appear to have any patterns in it. If you see valid patterns in the file then the issue is probably caused by a circular import. 

from rest_framework import routers 
from . import views 

router = routers.DefaultRouter() 
router.register(r'^/blog', views.PostViewSet) 
router.register(r'^/users', views.UserViewSet) 

が例外を取得

答えて

2

URLマッピングにrouterを使用しても、依然としてurlpatternsのリストが必要です。

router = routers.DefaultRouter() 
router.register(r'^/blog', views.PostViewSet) 
router.register(r'^/users', views.UserViewSet) 

urlpatterns = router.urls 

また、あなたは、ルータのURLに任意の正規表現の記号を省略することができます:

router.register(r'blog', views.PostViewSet) 
router.register(r'users', views.UserViewSet) 
関連する問題