[python] property方法变成属性调用

mac2024-03-23  52

Django中admin在路由分发用到了属性方法,自动加载

urls.py

urlpatterns = [ path('admin/', admin.site.urls), ]

sites.py

class XadminSite: def __init__(self, name="admin"): self._registry = {} def get_urls(self): print(self._registry) temp1 = [] for model, admin_class_obj in self._registry.items(): app_name = model._meta.app_label model_name = model._meta.model_name temp1.append(path(f'{app_name}/{model_name}/', admin_class_obj.urls2),) ''' url(r"app01/book",ModelXadmin(Book,site).urls2) ''' print("temp1", temp1) return temp1 @property def urls(self): return self.get_urls(),None,None def registry(self, model, admin_class=None, **options): if not admin_class: admin_class = ModelsXadmin self._registry[model] = admin_class(model, self) # {Book:ModelAdmin(Book),Publish:ModelAdmin(Publish)} site=XadminSite()
最新回复(0)