sites.py 文件源码

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

项目:Django-IMOOC-Shop 作者: LBruse 项目源码 文件源码
def get_urls(self):
        from django.conf.urls import url, include
        from xadmin.views.base import BaseAdminView

        if settings.DEBUG:
            self.check_dependencies()

        def wrap(view, cacheable=False):
            def wrapper(*args, **kwargs):
                return self.admin_view(view, cacheable)(*args, **kwargs)
            return update_wrapper(wrapper, view)

        # Admin-site-wide views.
        urlpatterns = [
                url(r'^jsi18n/$', wrap(self.i18n_javascript, cacheable=True), name='jsi18n')
            ]

        # Registed admin views
        # inspect[isclass]: Only checks if the object is a class. With it lets you create an custom view that
        # inherits from multiple views and have more of a metaclass.
        urlpatterns += [
                url(path, wrap(self.create_admin_view(clz_or_func)) if inspect.isclass(clz_or_func) and issubclass(clz_or_func, BaseAdminView) else include(clz_or_func(self)),
                name=name) for path, clz_or_func, name in self._registry_views
            ]

        # Add in each model's views.
        for model, admin_class in self._registry.iteritems():
            view_urls = [url(
                path, wrap(
                    self.create_model_admin_view(clz, model, admin_class)),
                name=name % (model._meta.app_label, model._meta.model_name))
                for path, clz, name in self._registry_modelviews]
            urlpatterns += [
                    url(r'^%s/%s/' % ( model._meta.app_label, model._meta.model_name), include(view_urls))
                ]

        return urlpatterns
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号