Django:admin管理工具的使用

1、admin组件使用

  Django提供了基于web的管理工具

  Django自动管理工具是django.contrib的一部分,我们可以在项目配置文件settings.py里的INSTALLED_APPS看到它

settings.py

INSTALLED_APPS = [
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
]

  django.contrib是一个强大的功能集,它是Django基本代码的组成部分

2、激活管理工具

  通常会在创建项目时在文件url.py中自动配置好

urls.py

from django.contrib import admin
from django.urls import path

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

  当这一切配置好之后,Django管理工具就可以运行了

3、admin后台管理界面汉化

  admin后台管理界面默认是英文的,对于我们来说看起来不够方便,因此需要在setting.py文件里进行配置

settings.py

LANGUAGE_CODE = ‘zh-hans‘

TIME_ZONE = ‘Asia/Shanghai‘

4、使用管理工具

  启动开发服务器,然后在浏览器中访问http://127.0.0.1:8000/admin/,进入后台管理系统的登录界面,通过python manage.py createsuperuser创建超级用户进行登录

  为了使用admin界面管理某个数据模型,我们需要先注册该数据模型到admin

创建数据模型类:

models.py

class Book(models.Model):
    title = models.CharField( max_length=32)
    publishDate=models.DateField()
    price=models.DecimalField(max_digits=5,decimal_places=2)
    publisher=models.ForeignKey(to="Publish")
    author=models.ManyToManyField(to=‘Author‘)

    def __str__(self):
        return self.title

注册到admin:

  在admin.py中只需将models.py中的某个数据模型类注册,即可在后台中实现对该数据模型中的数据执行增删改查操作,如:

admin.py

admin.site.register(models.Book)

  这种方式所能实现的功能比较简单,如果想要进行更多的定制操作,需要利用ModelAdmin进行操作,如:

方式一:
    class BookAdmin(admin.ModelAdmin):
        list_display = (‘title‘, ‘publicDate‘,‘ptice‘,‘publisher‘,‘author‘)
    admin.site.register(models.UserInfo, UserAdmin) # 第一个参数可以是列表

方式二:
    @admin.register(models.Book)  # 第一个参数可以是列表
    class BookAdmin(admin.ModelAdmin):        list_display = (‘title‘, ‘publicDate‘,‘ptice‘,‘publisher‘,‘author‘)

ModelAdmin中提供了大量的可定制功能:

(1)list_display,定制显示的列

(2)list_display_links,定制列可以点击跳转

(3)list_filter,右侧快速筛选

(4)list_select_related,定制连表查询是否自动select_related

(5)list_editable,定制可以编辑的列

(6)search_fields,定制可以模糊搜索的列

(7)date_hierarchy,定制对Date和DateTime类型进行搜索的列

(8)inlines,详情页面,如果有其他表和当前表做FK,那么详情页面可以做动态增加和删除

(9)action,定制action中的操作

(10)定制HTML页面

(11)raw_id_fields,详情页面,针对FK和M2M字段变成以input形式

(12)field,详情界面时显示的字段

(13)exclude,详情界面时,排除的字段

(14)readonlys_fields,详情界面时只读的字段

(15)fieldsets,详情页面时,使用fieldsets标签对数据进行分割显示

(16)详情页面时,M2M显示时,数据移动选择

(17)ording,定制数据的排序规则

(18)radio_fields,详情界面时,使用radio显示选项(FK默认使用select)

(19)form=ModelForm,用于定制用户请求时候表单验证

(20)empty_value_display,定制列数据为空的时候显示的默认值

原文地址:https://www.cnblogs.com/xmcwm/p/12163261.html

时间: 2024-07-29 05:06:17

Django:admin管理工具的使用的相关文章

Django -- admin管理工具

对于某类网站,管理界面是很重要的.他可以添加.编辑.删除网站内容,但是创建管理界面繁琐而重复,并且界面千篇一律:django用不能再少的代码帮你做了这些繁琐的工作:它读取你模式中的元数据,然后提供给你强大并能立即工作的界面. django.contrib是一套庞大的功能集,django基本代码的组成部分,它包含: 用户鉴别系统(django.contrib.auth) 支持匿名会话(django.contrib.sessioins) 用户评注系统(django.contrib.comments)

(3)Django Admin 管理工具

urls.py 文件中需要有 from django.contrib import admin http://localhost:8000/admin/

Django Admin Cookbook-17如何仅限特定用户登录Django Admin管理后台

17.如何仅限特定用户登录Django Admin管理后台? 只有勾选了is_staff=True的用户才允许登录Django Admin管理后台.要禁止用户访问Admin后台,可以应该设置该用户is_staff=False. 同样,超级管理员可以通过is_superuser=True设置.如果is_staff=False的用户尝试登录管理后台,将看到如下消息. 返回目录 原文地址:https://www.cnblogs.com/superhin/p/12174549.html

【Python】解决Django Admin管理界面样式表(CSS Style)丢失问题

配置Django Admin,关于如何启用请参考Django官方文档<Activate the admin site>.但是我在配置过程中登录http://example.com/admin后台时出现样式表丢失的问题,比如说界面变成了这样: 上网搜索了不少文档,多是Apache环境下的解决方案,我配置的是Nginx服务器,所以根据Apache的解决提示进而摸索办法,最终要解决这个问题我这里总结有3步(假设已经配置好admin登录系统): 1. 修改settings.py中STATIC_ROOT

解决Django Admin管理界面样式表(CSS Style)丢失问题

我在配置django自带管理界面过程中登录http://domain.com/admin后台时出现样式表丢失的问题,界面变成了这样: 系统环境:centos6.5+nginx1.5.9+uwsgi2.0.4+django1.4.9 nginx配置文件: server {         listen       80;         server_name  www.omserver.com;         location / {             uwsgi_pass 192.16

django admin管理后台中文添加问题

django版本号 1.7.8 #create database mydb character set utf8;#django-admin.py startproject mysite#设置settings, DATABASES#python manage.py startapp polls#编辑models<数据库模型,在此不进一步说明>#已经创建好了环境,但是使用之前the django books中进行创建同步数据库模块.不可以.新版本不一样#python manage.py make

Django admin管理界面,管理界面变成中文,管理界面显示所有表,表名改成中文名

(一)管理界面变成中文 # 超级用户管理界面修改成中文( settings文件夹) LANGUAGE_CODE = 'zh-Hans' # 改为zh-Hans (二)管理界面显示所有表 管理界面显示所有表(admin.py文件夹) admin.site.register(User) admin.site.register(Blog) admin.site.register(Article) admin.site.register(Category) admin.site.register(Tag

Django 之管理界面

     为新增的books应用开启管理界面 1.项目/setting.py文件的修改 (a) 将'django.contrib.admin'加入setting的INSTALLED_APPS配置中 (默认已经有.INSTALLED_APPS中的配置顺序是没有关系的) (b). 保证INSTALLED_APPS中包 含'django.contrib.auth','django.contrib.contenttypes'和'django.contrib.sessions', Django的管理工具需

Django admin 的 9 个技巧

Tip 1:Django admin 后台不限于用 Django 开发的网站 虽然 Django admin 管理界面可以非常友好的用在 Django 项目的其它部分,它同样可以很容易用于其它像传统的数据库或具有一个可怕的的管理界面的网站.而且这也是评估 Django 是否会满足您的需求的最佳途径. 你需要做的仅是: 在你的 Django 项目中建立一个新的应用,并确保你已经连接好传统数据库 ,通过 settings.py 文件中的 DATABASES 的设置. 将你的数据表定义为 Django