django restframework 里面的 /api/ 这个根 router 的名称是什么?

2018-05-03 17:28:46 +08:00
 Hopetree

先看代码,一下我的配置的 url,并且我知道 router 里面可以定义base_name来给 url 命名,不然就按照模型里面默认定义,我给 api 设置了 namespace,现在我想在前端模板中使用这些 api,就是使用{% url 'api.user' %}这种方式。现在的问题在于我只知道 /api/users/这种二级的 URL 的名称,但是不知道 /api/这个根目录的名称啊,我看官方的教程里面是去设置了一个 view 来展示这个根 url 的,所以当做一个普通的视图函数来添加到 urlpatterns 中去定义名称,但是既然 restframework 可以直接代开 /api/这个地址,那就说明这个 url 肯定是被定义过的,请问这个 url 的名称是什么,怎么使用{%url%}标签来得到这个地址?我目前只能使用硬地址

router = DefaultRouter()
router.register(r'users',api_views.UserListSet)
router.register(r'articles',api_views.ArticleListSet)
router.register(r'tags',api_views.TagListSet)
router.register(r'categorys',api_views.CategoryListSet)
router.register(r'timelines',api_views.TimelineListSet)

urlpatterns = [
...
url(r'^api/',include(router.urls,namespace='api')),
]
2052 次点击
所在节点    问与答
2 条回复
Hopetree
2018-05-03 17:35:06 +08:00
换一种方式,就是如果我把 /api/放到 router 里面,比如这样

```
router.register(r'^$',views,base_name='base')
```
请问这个 views 是什么?难道要自己写吗
Hopetree
2018-05-05 10:32:28 +08:00
我已经在源码中找到了,名字叫 api-root

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/451827

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX