django admin后台管理插件django-suit入门

前言

用过django的同学大概都知道,admin后台那个丑到爆的界面:
在这里插入图片描述
在这里插入图片描述
虽然程序猿不太那么讲究审美,但是这么吃藕的一个界面,反正搁我我是忍不了。不过呢,还好django扩展能力还是挺强的,有牛人开发出了suit这个插件。只需要简单的几步配置,就可以让admin后台变得美观许多。

那么,要怎么做呢?

首先是安装,简单粗暴的

pip install django-suit

在settings.py中,INSTALLED_APPS里面第一行加入’suit’(suit必须放在’django.contrib.admin’这一行的前面,否则服务启动后admin会加载默认admin界面)。之后,如果你的django版本在1.9以下,需要加入:


from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP

TEMPLATE_CONTEXT_PROCESSORS = TCP + (
    'django.core.context_processors.request',
)

如果是1.9以上(包含1.9),需要对TEMPLATES进行修改,加入一行:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',    # <-需要这一行
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

据说suit在admin里设置时间的一个小bug。
需要把时间格式指定一下

SUIT_CONFIG = {
    'ADMIN_NAME': '苹果树',
    'MENU': ({'label': '用户',
              'app': '用户',
              'models': ('UserProfile',)},
             ),
    # 每一个字典表示左侧菜单的一栏
    # label表示name,app表示上边的install的app,models表示用了哪些models
}

当然,单独写成py文件的时候,记得在settings.py里面加上一句:

from . import admin_settings

(如果使用的是python2,直接import admin_settings即可)
接下来是models.py。因为django的admin也是使用User的,所以需要对User进行扩展:

from django.db import models
from django.contrib.auth.models import User

class UserProfile(User):
    cname = models.CharField("中文名称", max_length=30)

最后是admin.py:

from django.contrib import admin
from myapp import models

class UserProfileAdmin(admin.ModelAdmin):
    # 定义admin总览里每行的显示信息
    list_display = ('cname', 'username', 'email')
    # 定义搜索框以哪些字段可以搜索
    search_fields = ('cname', 'username')

# 引用的固定格式,注册的model和对应的Admin,Admin放在后边
# 同样还有noregister方法:比如admin.site.noregister(Group),把group这个表在admin中去掉(默认user和group都是注册到admin中的)
admin.site.register(models.UserProfile, UserProfileAdmin)

ok,大功告成,我是使用如下命令同步数据库信息

python manage.py makemigrations
python manage.py migrate

创建超级管理员账号

python manage.py createsuperuser

最后,启动项目

python manage.py runserver 127.0.0.1:8000

其实,我用的功能还是蛮少的,只需要添加几个用户,实际上suit可以做的事情还是很多的。如果想要了解更多,可以参考一下相关文章:
入门文章:
http://www.cnblogs.com/caseast/p/5909248.html
官方文档:
http://django-suit.readthedocs.io/en/develop/

转自:https://www.cnblogs.com/anpengapple/p/6357835.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值