python类all_models()的实例源码

utils.py 文件源码 项目:django-api-toolkit 作者: hulygun 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def generate_root(self, request):

        from rest_framework.reverse import reverse
        from rest_framework.response import Response
        from rest_framework.decorators import api_view

        index = OrderedDict((
            ('Auth', OrderedDict((
                ('????????? ?????? ?? ??????/??????', reverse('get_token', request=request)),
                ('?????????? ??????', reverse('refresh_token', request=request)),
                ('???????? ??????', reverse('check_token', request=request)),
            ))),
        ))
        project_apps = settings.PROJECT_APPS
        for app_name in project_apps:
            index[app_name.capitalize()] = {}
            models = dict(apps.all_models[app_name])
            for name, model in models.items():
                model_dict = {}
                from rest_framework.reverse import reverse_lazy
                model_dict[name] = reverse_lazy('api:{}-list'.format(name.lower()), request=request)
                index[app_name.capitalize()].update(model_dict)

        def root_view(request):
            return Response(index)

        root_view.__name__ = self.name
        root_view.__doc__ = self.description

        return api_view(['GET'])(root_view)(request)
utils.py 文件源码 项目:django-api-toolkit 作者: hulygun 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def register_models(self):
        from .models import RestModel
        from rest_framework.routers import SimpleRouter
        router = SimpleRouter()
        for app_name in settings.PROJECT_APPS:
            models = dict(apps.all_models[app_name]).values()
            for model in models:
                if RestModel in model.__bases__:
                    router.register(*model._rest_endpoint())

        return router


问题


面经


文章

微信
公众号

扫码关注公众号