首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django rest框架-包括用于身份验证的url

Django rest框架-包括用于身份验证的url
EN

Stack Overflow用户
提问于 2014-06-22 22:24:43
回答 1查看 1.8K关注 0票数 2

下面是DJango rest框架教程:

http://www.django-rest-framework.org/tutorial/4-authentication-and-permissions#adding-login-to-the-browsable-api

并且,在文件的末尾,添加一个模式来包含可浏览API的登录和注销视图。

代码语言:javascript
复制
urlpatterns += patterns('',
    url(r'^api-auth/', include('rest_framework.urls',
                               namespace='rest_framework')),
)

上面写着:

模式的r'^api-auth/‘部分实际上可以是您想要使用的任何URL。唯一的限制是所包含的urls必须使用'rest_framework‘命名空间。

我不明白为什么会这样,也就是说,为什么字符串"api-auth“是什么并不重要,它似乎对regex中的任何字符串XXXX都有正确的作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-22 22:42:50

就像r'/admin'一样,你真正的名字并不重要。在一般意义上,它只是从字符串映射a,将url请求匹配到基于类或函数的视图。从概念上讲,它与下面的字典是一样的:

代码语言:javascript
复制
{
 'add': lambda x, y: x + y,
 'subtract': lambda x,y: x - y
 ... ect. ...
}

除了在Django中,keys、addsubtract是regex模式,'SomeView.as_view()'lambda函数。就像这样:

代码语言:javascript
复制
{
 r'^about/$': TemplateView.as_view(template_name='pages/about.html'),
 r'^admin/': include(admin.site.urls)
}

当您将包含include('rest_framework.urls')的url模式映射到视图时,就像上面提到的那样。您可以把它看作是嵌套的dict:

代码语言:javascript
复制
{
 r'^about/$': TemplateView.as_view(template_name='pages/about.html'),
 r'^admin/': {
   r'^about/$': TemplateView.as_view(template_name='pages/about.html'),
   r'^admin/': include(admin.site.urls)
   }
}

有关django处理请求的更多信息,可以从django文档这里中找到。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24356334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档