我是 Django 和 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:
from rest_framework import routers
from . import views
router = routers.DefaultRouter()
router.register(r'^/blog', views.PostViewSet)
router.register(r'^/users', views.UserViewSet)
获取异常:
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.
最佳答案
尽管您使用 router
进行 url 映射,但您仍然需要 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)
关于python - Django REST 嵌套路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41375456/