暂无分类
暂无标签
发布于2020-06-13 19:03 阅读(391) 评论(0) 点赞(11) 收藏(3)
0
1
2
3
4
5
6
1.注册 admin.py
admin.site.register(Book, BookConfig)
源码:
class AdminSite():
def __init__(self, name='admin'):
self._registry = {}
def register(self, model, admin_class):
if not admin_class:
admin_class = ModelAdmin
self._registry[model] = admin_class(model, self)
site = AdminSite()
2.设计url
如何通过model类变量获取该模型的字符串名称和该模型所在app的字符串名称:
print(">", model._meta.model_name)
print(">", model._meta.app_label)
def add(request):
return HttpResponse('ok')
def delete(request, id):
print(id)
return HttpResponse('ok')
def change(request, id):
return HttpResponse('ok')
def list_view(request):
return HttpResponse('ok')
def get_urls2():
temp = []
temp.append(path('add/', views.add))
temp.append(re_path(r'(\d+)/delete/', views.delete))
temp.append(re_path(r'(\d+)/change/', views.change))
temp.append(path('', views.list_view))
return temp
def get_urls():
temp = []
for model, admin_class_obj in admin.site._registry.items():
# print('model', model)
# class 'django.contrib.auth.models.Group'>
# class 'django.contrib.auth.models.User'>
# print("==>", model._meta.model_name)
# print("==>", model._meta.app_label)
model_name = model._meta.model_name
app_label = model._meta.app_label
temp.append(path('%s/%s/' % (app_label, model_name), (get_urls2(), None, None)))
return temp
def get_urls2():
temp = []
temp.append(path('add/', views.add))
temp.append(re_path(r'(\d+)/delete/', views.delete))
temp.append(re_path(r'(\d+)/change/', views.change))
temp.append(path('', views.list_view))
return temp
urlpatterns = [
path('king_admin/', (get_urls(), None, None)) ,
]
在ModelStark中:
self.model: 用户当前访问的模型表
主要实现以下几个功能,最难的就是查看页面(其中涉及到分页和filter)
查看页面:
表头
表数据
search
action
分页
filter
增删改(modelForm)
title = Book._meta.get_field('title') # 拿表中对应字段的对象
title.max_length
将{"page":"12", "title_startwith":"py", "id__gt":"5"} 变为
"page=12&title_startwith=py&id__gt=5"
只需通过以下命令即可:
self.params.urlencode()
0
1
2
3
4
5
6
7
8
9
作者:9384vfnv
链接: https://www.pythonheidong.com/blog/article/414878/83c019f706ca297bfca5/
来源: python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系z452as@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!