无法从 Django 中的第 3 方包中获取反向 URL
Cannot get the reverse URL from 3rd party packages in Django
我知道 Django 的反向功能:
from django.core.urlresolvers import reverse
reverse('my_view_name')
但是,如果我想从第 3 部分包中使用反向获得 URL,我会得到 NoReverseMatch
。
例如,拿包裹oauth2_provider,我想得到它提供的令牌URL。
我的包括urls.py...
url(r'^api/', include('oauth2_provider.urls', namespace='oauth2_provider')),
然后我 reverse('token')
得到
NoReverseMatch: Reverse for 'token' with arguments '()' and keyword
arguments '{}' not found. 0 pattern(s) tried: []
为什么?
查看包裹内部 URL 名字是 token
here
反转时需要指定命名空间url:
reverse('oauth2_provider:token')
我知道 Django 的反向功能:
from django.core.urlresolvers import reverse
reverse('my_view_name')
但是,如果我想从第 3 部分包中使用反向获得 URL,我会得到 NoReverseMatch
。
例如,拿包裹oauth2_provider,我想得到它提供的令牌URL。
我的包括urls.py...
url(r'^api/', include('oauth2_provider.urls', namespace='oauth2_provider')),
然后我 reverse('token')
得到
NoReverseMatch: Reverse for 'token' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
为什么?
查看包裹内部 URL 名字是 token
here
反转时需要指定命名空间url:
reverse('oauth2_provider:token')