02_DJango后台设计

 

一、创建管理员

  • Django提供admin后台,便于统一管理用户、权限和权限组,超级用户初始化方法
  • 初始化命令行:
python3 manage.py createsuperuser
  • 根据提示设置用户名、邮箱和密码:
用户名 (leave blank to use 'admin'): admin
电子邮件地址: XXXX@xx.com
Password: 
Password (again): 

Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.


二、修改admin.py
只需要这三行代码,我们就可以拥有一个强大的后台!

from django.contrib import admin
from .models import class_name        #导入models.py中定义的类
 
 
admin.site.register(class_name)        

使用命令:python manage.py runserver 

访问 http://localhost:8000/admin/ 输入设定的帐号和密码, 就可以看到:

 

点击 Articles,动手输入 添加几篇文章,就可以看到:

我们会发现所有的文章都是叫 Article object,这样肯定不好,比如我们要修改,如何知道要修改哪个呢?

修改一下 blog 中的models.py
在class类中加了一个 __str__ 函数,
刷新后台网页,会看到:

所以推荐定义 Model 的时候 写一个 __str__函数

 

三、在后台列表显示与字段相关的其它内容

后台已经基本上做出来了,可是如果我们还需要显示一些其它的fields,如何做呢?

在admin.py中 修改后台栏目显示的内容,,使用list_display显示

admin.site.register(Person)

修改为:

from django.contrib import admin

from .models import Article, Person


class ArticleAdmin(admin.ModelAdmin):

    list_display = ('title', 'pub_date', 'update_time',)    # #使用list_dispaly数据库表的列表


class PersonAdmin(admin.ModelAdmin):

    list_display = ('full_name',)


admin.site.register(Article, ArticleAdmin)        #第一参数:数据库表类;第二个参数:列表显示的类

admin.site.register(Person, PersonAdmin)

list_display 就是来配置要显示的字段的,当然也可以显示非字段内容,或者字段相关的内容,比如:

class Person(models.Model):

    first_name = models.CharField(max_length=50)

    last_name = models.CharField(max_length=50)


    def my_property(self):

        return self.first_name + ' ' + self.last_name

        my_property.short_description = "Full name of the person"

    full_name = property(my_property)


 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值