Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22040
  • 博文数量: 4
  • 博客积分: 31
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-25 11:00
文章分类

全部博文(4)

文章存档

2015年(4)

我的朋友

分类: Python/Ruby

2015-11-05 14:59:11

      web开发人员都知道,如果想要开发一个web应用,涉及面很广,当然这些有不同的分工,平面设计、美工、程序员。但有时并不能很好的合作。我比较懒,不太愿意做大多前台的东西,所以这个admin非常适合我。
     一个django的project创建好后,建一个新的app,在app的目录下创建一个admin.py的文件,一定要用这个名字,django服务起来后它会掉用这个。
admin.py

点击(此处)折叠或打开

  1. #coding:utf-8
  2. from django.crontab import admin
  3. from models import XXX

  4. class XXXAdmin(admin.ModelAdmin) :
  5.     pass

  6. admin.site.register(XXX,XXXAdmin)
class的名字XXXAdmin可以自由写,但我建议model名?Admin这样写方便以后代码的维护。
第6行就是注册了。其实还有另外的注册方法是用修饰器:

点击(此处)折叠或打开

  1. @admin.register(XXX)
  2. class XXXAdmin(admin.ModelAdmin) :
  3.       pass

这个ModelAdmin是一个通用的admin,在python路径/site-packeages/django/crontab/admin/options.py里,可以看出它其实也继承了一个叫BaseModelAdmin类,里面有很多变量的设置和函数。就是这些变量和函数使得admin更加灵活应用,直接拿来使用,对一个或多个的model进行CRUD的操作。讲到这里,不得不提到另外一个内置app,那就是auth。这个auth和admin是有关联的,需要user的验证和权限的分配。所以如果你要使用admin,就必须使用auth。
当然auth的user model不能满足你的需求,可以扩展,自定义一个model,继承user model,这个是我个人的做法,官方有它自己的一套做法,这里就不多说了。
好了,这样一个app的admin应用就架构好了,接下来就是要根据你的业务流程来定制页面了。









阅读(558) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~