backend.py 文件源码

python
阅读 33 收藏 0 点赞 0 评论 0

项目:foundation 作者: altio 项目源码 文件源码
def render(urlpatterns, base='', namespace=None, depth=0):

    views = {'patterns': {}, 'resolvers': {}}
    for p in urlpatterns:
        if isinstance(p, RegexURLPattern):
            try:
                if not p.name:
                    name = p.name
                elif namespace:
                    name = '{0}:{1}'.format(namespace, p.name)
                else:
                    name = p.name
                print('{}({}) {}'.format(('| '*(depth-1) + '|-') if depth else '', name, p.regex.pattern))
            except ViewDoesNotExist:
                continue
        elif isinstance(p, RegexURLResolver):
            try:
                patterns = p.url_patterns
            except ImportError:
                continue
            if namespace and p.namespace:
                _namespace = '{0}:{1}'.format(namespace, p.namespace)
            else:
                _namespace = (p.namespace or namespace)
            print('{}({}) {}'.format(('| '*(depth-1) + '|-') if depth else '', _namespace, p.regex.pattern))
            if isinstance(p, LocaleRegexURLResolver):
                for langauge in settings.LANGUAGES:
                    with translation.override(langauge[0]):
                        render(patterns, base + p.regex.pattern, namespace=_namespace, depth=depth+1)
            else:
                render(patterns, base + p.regex.pattern, namespace=_namespace, depth=depth+1)

    return views
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号