下面是DJango rest框架教程:
http://www.django-rest-framework.org/tutorial/4-authentication-and-permissions#adding-login-to-the-browsable-api
并且,在文件的末尾,添加一个模式来包含可浏览API的登录和注销视图。
urlpatterns += patterns('',
url(r'^api-auth/', include('rest_framework.urls',
namespace='rest_framework')),
)上面写着:
模式的r'^api-auth/‘部分实际上可以是您想要使用的任何URL。唯一的限制是所包含的urls必须使用'rest_framework‘命名空间。
我不明白为什么会这样,也就是说,为什么字符串"api-auth“是什么并不重要,它似乎对regex中的任何字符串XXXX都有正确的作用。
发布于 2014-06-22 22:42:50
就像r'/admin'一样,你真正的名字并不重要。在一般意义上,它只是从字符串映射a,将url请求匹配到基于类或函数的视图。从概念上讲,它与下面的字典是一样的:
{
'add': lambda x, y: x + y,
'subtract': lambda x,y: x - y
... ect. ...
}除了在Django中,keys、add和subtract是regex模式,'SomeView.as_view()'是lambda函数。就像这样:
{
r'^about/$': TemplateView.as_view(template_name='pages/about.html'),
r'^admin/': include(admin.site.urls)
}当您将包含include('rest_framework.urls')的url模式映射到视图时,就像上面提到的那样。您可以把它看作是嵌套的dict:
{
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文档这里中找到。
https://stackoverflow.com/questions/24356334
复制相似问题