python - Django REST 嵌套路由器

标签 python django django-rest-framework

我是 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/

相关文章:

python - 如果脚本有时会锁定并永远运行,如何定期安排脚本

python - 虚拟环境错误的python版本

javascript - 为什么我需要删除Child表单输入来调用自定义GAE API

django - 编写 django-piston 客户端的正确方法是什么?

python - 如何在 Django 模型中有效存储时区?

python - Django Rest Framework 创建用户和用户配置文件

python - 如何分割我的图像和标签,使其可以用作机器学习的特征?

python - 使用 Haystack 的 Django ListView 速度非常慢

javascript - 持续时间日期时间(django rest,json 输入)

django - 在 Django Rest Framework 中使用 APIView 和 viewset 设置路由器