首页 > 代码库 > python学习笔记--Django入门四 管理站点

python学习笔记--Django入门四 管理站点

上一节  Django入门三 Django 与数据库的交互:数据建模

“管理员界面”是基础功能中的重要部分。、

激活管理员界面

管理界面是 Django 中最酷的一部分。但是不是所有人都需要它,所以它是可选的。这也就意味着你需要跟着三个步骤来激活它。

在你的 models 中加入admin metadata。

不是所有的models都能够(或应该)被管理员编辑,你需要给models标记一个管理员接口(interface),通过给models添加一个内部类‘admin’完成接口标记。所以,给上一章我们的“book”models添加管理员接口就像下面这样:

class Book(models.Model):
    title = models.CharField(maxlength=100)
    authors = models.ManyToManyField(Author)
    publisher = models.ForeignKey(Publisher)
    publication_date = models.DateField()
    num_pages = models.IntegerField(blank=True, null=True)

    def __str__(self):
        return self.title

    class Admin:
        pass

Admin 声明标志了该类有一个管理界面。在 Admin 之下你可以放很多选项,但目前我们只关注缺省的东西,所以我们只在那写上 pass 让 Python 知道 Admin 类是空的。

安装管理应用程序

在你的 INSTALLED_APPS 的设置中加入 

"django.contrib.admin" 

如果你是一直照步骤做下来的,请确认 "django.contrib.sessions" , "django.contrib.auth" , 和 "django.contrib.contenttypes" 前面的注释已去掉,因为管理程序需要它们。请同时去掉所有 MIDDLEWARE_CLASSES设置行中的注释,并清除 TEMPLATE_CONTEXT_PROCESSOR 设置,以便它可以重新使用缺省值。

运行 python manage.py syncdb 。这一步将生成管理界面使用的额外数据库表。

在 urls.py 中加入模板

(r^admin/(.*), admin.site.root),

现在运行 python manage.py runserver 以启动开发服务器,如图:

技术分享

 

python学习笔记--Django入门四 管理站点