首页 > 其他分享 >十三、Django Admin

十三、Django Admin

时间:2024-02-11 20:55:36浏览次数:28  
标签:Admin price register list site Django 十三 models admin

Django Admin是django项目数据库的一个后台管理工具

一、注册models

项目中,应用创建之后,应用文件夹就有一个admin.py文件。在admin.py中注册需要在admin后台管理的models

from django.contrib import admin
from web import models

admin.site.register(models.Host)
admin.site.register(models.HostGroup)
admin.site.register(models.IDC)
admin.site.register(models.UserProfile)
admin.site.register(models.HostToRemoteUser)
admin.site.register(models.RemoteUser)

二、登录admin

在终端,项目根目录下,运行命令创建superuser:

python manage.py createsuperuser
#设置用户名
#设置密码

访问: ip+端口/admin,在登录页使用创建好的superuser登录admin

三、admin后台的使用

1、在后台,可以新建User,创建后需要勾选Staff Status,用户才可以登录admin;
2、除了Staff Status,User还有更多权限相关可设置,或者设置为Super User;

四、自定义Admin

在admin.py中,继承admin.ModelAdmin来创建某个model的配置类

from django.contrib import admin
from crm import models

class CustomerAdmin(admin.ModelAdmin):
    list_display = ['name', 'source', 'contact_type', 'contact', 'consultant', 'consult_content', 'status', 'date']
    list_filter = ['source', 'consultant', 'status', 'date']
    search_fields = ['contact', 'consultant__name']

admin.site.register(models.CustomerInfo, CustomerAdmin)
class BookAdmin(admin.ModelAdmin):
    list_display = ('id','name','price','pub_date')
    ordering = ("-price",)
    fieldsets = [
        (None,{'fields':['name']}),
        ('price information',{'fields':['price','publish'],'classes':['collapse']}),
    ]

其中:
list_display:设置显示的字段列(多对多字段不可列出)
list_filter:筛选
search_fields:搜索功能
fieldsets:自定义详情页的样式
ordering:排序。例如:ordering = ("price",) 按price排序(升序);
ordering = ("-price",) 在字段前加‘-’为倒序。
另外还有:
list_editable:自定义某列是否可以编辑
filter_horizontal:多对多字段设置filter_horizontal属性,页面样式会变成方便多对多数据量大时的操作
list_per_page: 配置分页,默认=20
等等

五、修改Admin页面语言

LANGUAGE_CODE = 'zh-hans' #设置中文

六、列的别名设置

model定义字段时,设置verbose_name属性

class CustomerInfo(models.Model):
    """客户信息表"""
    ...
    referral_from = models.ForeignKey("self", blank=True,\
                                      null=True, verbose_name="转介绍")

标签:Admin,price,register,list,site,Django,十三,models,admin
From: https://www.cnblogs.com/zhlforhe/p/18013521

相关文章

  • 十二、Django视图函数和模版相关
    视图相关HTTPRequest对象:属性:path函数:get_full_path()HTTPResponse对象:render()render_to_response()locals():局部变量redirect()重定向例子:用户登录成功后跳转deflogin(request):...#判断登录成功后,跳转到indexreturnrender(request,"index.html"......
  • 十、Django静态文件
    django网络相应基础:1、配置url路由在urls.py中urlpatterns添加路径fromdjango.conf.urlsimporturlfromdjango.contribimportadminfromapp01importviewsurlpatterns=[url(r'^admin/',admin.site.urls),url(r'^index.html$',views.index),......
  • 十一、Django url控制系统
    urlpatterns=[url(正则表达式,views视图函数,参数,别名),]匹配1、完全匹配urlpatterns=[url(r'^admin/',admin.site.urls),url(r'^showtime/',views.showtime),url(r'^blog/',include('blog.urls')),url(r'^logi......
  • 九、Django环境搭建(基于anaconda环境)
    Django特点:具有完整的封装,开发者可以高效率的开发项目,Django将大部分的功能进行了封装,开发者只需要调用即可,如此,大大的缩短了开发的时间,同时也因为太多封装导致开发灵活度和项目的运行效率不足。通常在工作中,开发者可以使用Django快速的搭建项目,然后基于项目进行个别部分的效率优......
  • Ubuntu服务器使用 Daphne + Nginx + supervisor部署Django项目
    视频:https://www.bilibili.com/video/BV1e6421G7uM/?vd_source=36191bed2c30378060ff2efe6831b331Django从3.0版开始加入对ASGI的支持,使Django开始具有异步功能。截止目前的5.0版,对异步支持逐步也越来越好,相信在未来的版本中异步将会支持的更加完善。所以说,我们也需要适时的......
  • python3.9+django4.1+vue3 ,后端项目运行时,报错了,WSGI application 'XXX.wsgi.applicat
    python3.9+django4.1+vue3,后端项目运行时,报错了; 报错信息,如下:django.core.exceptions.ImproperlyConfigured:WSGIapplication'StudentMgrBE.wsgi.application'couldnotbeloaded;Errorimportingmodule.     ------------------------------百度......
  • python django4.1 pycharm,报错,Conflicting 'xxx' models in application 'xxx': <
    遇到了一个报错,不知道咋么解决,pythondjango3pycharm,报错。不晓得怎么解决;Conflicting'xxx'modelsinapplication'xxx':<class'xxx'>and<class'xxx'>.这个是 报错误 信息,如下:RuntimeError:Conflicting'faculty'modelsin......
  • Django知识笔记1
    本文从分析现在流行的前后端分离Web应用模式说起,然后介绍如何设计RESTAPI,通过使用Django来实现一个RESTAPI为例,明确后端开发RESTAPI要做的最核心工作,然后介绍DjangoRESTframework能帮助我们简化开发RESTAPI的工作。Web应用模式在开发Web应用中,有两种应用模式:前后端不分离......
  • 面试经典 150 题 (十三)
    先来个大的classRandomizedSet{privateHashSet<Integer>hashSet;publicRandomizedSet(){hashSet=newHashSet<Integer>();}publicbooleaninsert(intval){if(hashSet.contains(val)){returnfa......
  • Django
    Django一、MTV和MVC的区别首先介绍Django的设计模式,也就是MTV,在这之前我们先了解MVC模式。1、MVC设计模式MVC是Model-View-Controller的缩写Model代表数据存储层,是对数据表的定义和对数据的增删改查;View代表视图层,是系统前段显示部分,它负责显示什么和如何进行显示;Controll......