Django 学习 3 ADMIN站点管理

站点管理:
Django提供了一个自动生成的超级管理员站点,如果你曾经注意到admin页面,那么就是它了。如果要去生成一个管理员站点让你的员工或客户去增、删、改站点内容是一件乏味而缺乏创造性的事情,因此,Dajngo为models自动的创建了管理员接口。
Django在新闻编辑部的环境中被写出来的,对内容的提供者和公共部分有清晰地区分。站点管理者利用管理系统来增删改内容,而内容被发布在公共站点上。Django用统一的站点管理员接口来解决这个问题。
管理员页面不应该被普通的浏览着使用。

1.创建管理员用户
>>>python manage.py createsuperuser

Username: admin

Email address: admin@example.com

Password: **********
Password (again): *********

Superuser created successfully.



这样就完成了一个管理员的创建

2.在本地站点进入/admin/页面:
站点会默认的以你使用的语言显示内容,这和你的浏览器设置和settings有关
settings.py codes:
    LANGUAGE_CODE = 'zh-cn'



进入站点你会看到 组(groups) & 用户(users),他们是由Django的身份验证框架(authentication framework)提供的。

3.让我们的app能够在admin页面上更改:
这个时候我们的app并没有显示在管理页面(admin site)目录上。我们需要告诉系统我们的app拥有自己的管理接口(admin interface)。
book/admin.py codes:
    from django.contrib import admin
    from .models import Publisher,Book,Author
    # Register your models here.
    admin.site.register(Publisher)
    admin.site.register(Author)
    admin.site.register(Book)


这时候我们可以在目录也看到这些对象,对他们的操作也是和数据库实时互动的,动手去修改他们吧~。
amdin页面提供了友好的日期(DateField)时间(DateTimeField)等对象的增改界面。

定制admin界面会使得admin界面风格独树一帜,然而我觉得并没有什么卵用。

对象管理界面(objects admin pages)会根据映射到对象的表的关系数据库来为你提供增删改功能,包括外键和多对多关系等等。
外键会呈现为一个单选下来列表,而多对多关系则是可多多选的下拉列表。

4.修改字段:
在管理页面添加或修改对象是,默认的所有对象应该都是必须填写的,对于有些可以为空的属性,可以为属性添加 blank 参数:
models.py codes:
    class Author(models.Model):
        def __unicode__(self):
            return self.first_name+' '+self.last_name
        first_name = models.CharField(max_length=30)
        last_name = models.CharField(max_length=50)
        email = models.EmailField(blank = True)



5.定制(customizing)管理界面:
Django管理站点同样是用Django编写,同样的,他使用了自己的网站模板。
在之前我们提到过templates的使用。在settings中我们定义了templates文件夹的路径。管理界面的模板也会现在这个路径中admin/templates/中寻找,否则在django/contrib/admin/templates/路径中寻找。也就是说,此时我们并没有定制自己的管理界面模板,那么那就在django/contrib/admin/templates/中。
拷贝 django/contrib/admin/templates/admin/base_site.html 到 /home/mytemplates/admin/base_site.html 。
用一下python代码找到路径:
python codes:
    import sys
    sys.path = sys.path[1:]
    import django
    print(django.__path__)"


自己修改代码吧~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值