带有 Django 2.0 的 Django REST Framework URL
Django REST Framework URLs with Django 2.0
我正在尝试使用 Django 2.0 项目设置 Django REST Framework,这意味着 url(r'^something/' ...
已替换为 path(something/ ...
。
我正在研究如何设置我的 rest_framework
模式。
这是我的:
router = routers.DefaultRouter()
router.register(r'regulations', api.RegulationViewSet)
router.register(r'languages', api.LanguageViewSet)
urlpatterns = [
...
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
...
]
如果我去 http://127.0.0.1:8000/regulations
我只会得到:
Page not found (404)
我应该如何设置 urlpatterns
?
urlpatterns = [
...
path('', include(router.urls)),
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
...
]
用path('', include(router.urls)),
你可以得到:
http://127.0.0.1:8000/regulations/
http://127.0.0.1:8000/languages/
和
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
您可以获得:
http://127.0.0.1:8000/api-auth/{other paths}
注册 router
后,您必须将其包含在 urlpatterns
中。 @Ykh 建议的方式在技术上是正确的,但关于内容却没有抓住要点。
urlpatterns = [
# here you include your router
path('', include(router.urls)),
# here you include the authentication paths
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
]
现在您将拥有以下路线:
http://localhost:8000/regulations/
http://localhost:8000/languages/
加上:
http://localhost:8000/api-auth/{other paths}
我正在尝试使用 Django 2.0 项目设置 Django REST Framework,这意味着 url(r'^something/' ...
已替换为 path(something/ ...
。
我正在研究如何设置我的 rest_framework
模式。
这是我的:
router = routers.DefaultRouter()
router.register(r'regulations', api.RegulationViewSet)
router.register(r'languages', api.LanguageViewSet)
urlpatterns = [
...
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
...
]
如果我去 http://127.0.0.1:8000/regulations
我只会得到:
Page not found (404)
我应该如何设置 urlpatterns
?
urlpatterns = [
...
path('', include(router.urls)),
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
...
]
用path('', include(router.urls)),
你可以得到:
http://127.0.0.1:8000/regulations/
http://127.0.0.1:8000/languages/
和
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
您可以获得:
http://127.0.0.1:8000/api-auth/{other paths}
注册 router
后,您必须将其包含在 urlpatterns
中。 @Ykh 建议的方式在技术上是正确的,但关于内容却没有抓住要点。
urlpatterns = [
# here you include your router
path('', include(router.urls)),
# here you include the authentication paths
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
]
现在您将拥有以下路线:
http://localhost:8000/regulations/
http://localhost:8000/languages/
加上:
http://localhost:8000/api-auth/{other paths}