Django之admin

Django Admin 多字段显示与配置
本文详细介绍了如何在 Django 的 admin 后台管理界面中显示多个字段,包括一对一或一对多字段的配置方法,以及如何设置字段链接进入编辑界面。同时,概述了 admin 的注册流程和 URL 设计过程。

一、在admin中显示多字段

1 from django.contrib import admin
2 from app01 import models
3 
4 class BookConfig(admin.ModelAdmin):
5     list_display = ["title","price"]       #可以添加一对一或一对多字段,不能添加多对多字段
6 
7 admin.site.register(Booke,BookConfig)

点击字段进入编辑界面

list_display_links = ["title","price"]

 

二、admin流程

  1、启动

1 autodiscover_modules('admin', register_to=site)

  2、注册

 1 class AdminSite(object):
 2     def __init__(self, name='admin'):
 3          self._registry = {} 
 4                         
 5     def register(self, model, admin_class=None, **options):
 6          if not admin_class:
 7                admin_class = ModelAdmin
 8                           
 9          self._registry[model] = admin_class(model, self) # {Book:ModelAdmin(Book)}
10                            
11            
12 admin.site.register(Book)  #  admin.site._registry={Book:ModelAdmin(Book)}
13 admin.site.register(Publish)  #  admin.site._registry={Book:ModelAdmin(Book),Publish:ModelAdmin(Publish)}
14            
15 class Authoconfig(admin.ModelAdmin):
16     pass
17                 
18 admin.site.register(Author,Authoconfig)  #  admin.site._registry={Book:ModelAdmin(Book),Publish:ModelAdmin(Publish),Author:Authoconfig(Author)}

  3、设计url

    什么是url?

      四部分:协议、IP和端口、路径、参数

      协议://IP:端口/路径/?参数

      路由系统只匹配路径部分

 1 def get_urls_2():
 2 
 3     temp=[]
 4 
 5     temp.append(url(r"^$",list_view))
 6     temp.append(url(r"^add/$",add_view))
 7     temp.append(url(r"^(\d+)/change/$",change_view))
 8     temp.append(url(r"^(\d+)/delete/$",delete_view))
 9 
10 
11     return temp
12 
13 
14 def get_urls():
15     print(admin.site._registry)  # {Book:modelAdmin(Book),.......}
16 
17 
18     temp=[]
19     for model,admin_class_obj in admin.site._registry.items():
20         app_name=model._meta.app_label
21         model_name=model._meta.model_name
22 
23         temp.append(url(r'^{0}/{1}/'.format(app_name,model_name), (get_urls_2(),None,None)),)
24 
25     return temp
26 
27 
28 urlpatterns = [
29 
30     url(r'^admin/', admin.site.urls),
31 
32     url(r'^Xadmin/', (get_urls(),None,None)),
33 
34 ]

 

转载于:https://www.cnblogs.com/yinwenjie/p/10369429.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值