这里有一些我能想到的很有效的 Django 的 admin 模块的桥绫桥。
(对于 Django admin 不太熟悉的人,先简单解释几个名词)
- Changeform 是可以编辑对象的页面。
- Changelist 页面可以列出指定类型的对象。你可以指定过滤对象的前提及对对象的操作。点击 changelist 里的对象一般会跳转到对象的 changeform 页面。
为了让这些敲门更具可操作性,我们应用了与真实问题几乎一致的场景。假设我们有一个简单的网站,访客可以上传可爱的动物图片并进行评论。这是不是很风行呢?
Tip 1:Django admin 后台不限于用 Django 开辟的网站
固然 Django admin 治理界面可以异常友爱的用在 Django 项目标其它部分,它同样可以很轻易用于其泥像传统的数据库或具有一个恐怖的的治理界面的网站。并且这也是评估 Django 是否会知足您的需求的最佳门路。
你须要做的仅是:
- 在你的 Django 项目中建立一个新的应用,并确保你已经连接好传统数据库 ,经由过程 settings.py 文件中的 DATABASES 的设置。
- 将你的数据表定义为 Django 的模型。正如它的名字所表述的,manage.py inspectdb 是一个异常有效的敕令:检测现有的数据库,并打印出主动生成的 Django 模型。
- 创建 admin.py 文件,并放在那边,唉,治理相干的。稍后将具体解释这个。
说到我们的动物“的网站,是由进屎的脑袋写出来的,所以治理界面看起来像……你知道的,不是很好。为懂得决这个问题,我们经由过程几个 Django 模型重构了数据库构造,实现一个简单的治理界面:
- # models.py
- class Picture(models.Model):
- DOG = 1
- CAT = 2
- ANIMAL_KIND_CHOICES = (
- (DOG, 'dog'),
- (CAT, 'cat'),
- )
- title = models.CharField(max_length=200)
- author = models.ForeignKey(Author, related_name='pictures')
- animal_kind = models.IntegerField(choices=ANIMAL_KIND_CHOICES)
- photo = models.ImageField(upload_to='animals')
- is_promoted = models.BooleanField(default=False)
- class Author(models.Model):
- name = models.CharField(max_length=100)
- email = models.EmailField()
- class Comment(models.Model):
- author = models.ForeignKey(Author, related_name='comments')
- picture = models.ForeignKey(Picture, related_name='comments')
- comment = models.TextField()
- editors_note = models.TextField()
推荐阅读
连接交换机的办法 互联网普及的时代,浩瀚家庭中都有各类上彀的设备,然则平日家里只有一条宽带入户,那么在>>>详细阅读
地址:http://www.17bianji.com/lsqh/35374.html
1/2 1