web开发人员都知道,如果想要开发一个web应用,涉及面很广,当然这些有不同的分工,平面设计、美工、程序员。但有时并不能很好的合作。我比较懒,不太愿意做大多前台的东西,所以这个admin非常适合我。
一个django的project创建好后,建一个新的app,在app的目录下创建一个admin.py的文件,一定要用这个名字,django服务起来后它会掉用这个。
admin.py
-
#coding:utf-8
-
from django.crontab import admin
-
from models import XXX
-
-
class XXXAdmin(admin.ModelAdmin) :
-
pass
-
-
admin.site.register(XXX,XXXAdmin)
class的名字XXXAdmin可以自由写,但我建议model名?Admin这样写方便以后代码的维护。
第6行就是注册了。其实还有另外的注册方法是用修饰器:
-
@admin.register(XXX)
-
class XXXAdmin(admin.ModelAdmin) :
-
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) |