在django不涉及到数据管理的站点,比如实时展示和实时计算的网站,我们不需要设计自定义后台。然而在创建综合性应用,需要管理数据和数据模型的时候就需要有一个好的后台管理系统。
在django不涉及到数据管理的站点,比如实时展示和实时计算的网站,我们不需要设计自定义后台。然而在创建综合性应用,需要管理数据和数据模型的时候就需要有一个好的后台管理系统。
系统环境:Ubuntu14.04+Python2.7.6+Django1.5.2
笔者尝试构建一个友好的后台管理界面。基本思路有两个:
第一个:直接替换admin的样式文件。也就是系统目录下的admin样式文件,或者是你如果在构建project的时候有使用manage.py collectstatic功能同步系统admin样式到你自定义的STATIC_ROOT之下。这样去手动替换是可行的。只需要寻找bootstrap模板手动修改一些地方即可。
第二种:尝试使用已有的django插件。比如django-suit(http://django-suit.readthedocs.io),Django Xadmin(http://xadmin.readthedocs.io), DjangoX(http://www.oschina.net/news/78948/djangox-v0-3-0),以及django-jet(https://pypi.python.org/pypi/django-jet/).这里根据需要可以选择不同的“厂家”。
笔者开始觉得django-jet长得好看。于是就采用这个了。在使用这个的时候出现几个问题,总结如下:
(1)’django.core.context_processors.request’,的加入方法因版本而异。请注意django1.7版本后,这个加入方法就要参考之前的加法,这两种添加方法可以百度到,也可以在django-jet的github说明里面找到。
(2)最坑爹的一点就是一定要注意:
1 2 3 4 5 6 7 |
INSTALLED_APPS = ( ... 'jet.dashboard', 'jet', 'django.contrib.admin', ... ) |
这三个的先后顺序,以及对应urls里面的三个顺序。否则会出现无法找到页面或者 Page not found(404)错误。这是很蛋疼的,检查不出来。原因应该是对应的顺序影响view函数的寻找。
(3)Django-jet随着django升级会不断更新。因此寻找你需要的版本就很重要。笔者这里尝试最新版本1.0.6发现会报错。一直往下走,直到0.0.8才复合条件。
(4)注意本次卸载重装Django-jet必须要删除原来同步过来的静态文件,重新同步(collectstatic)否则模板文件没有更新,依然报错。
根据上述操作,适当修改设置即可达到预期目标。
来源:本站原创
原创文章,作者:ifyoung,如若转载,请注明出处:https://www.drugfoodai.com/django-admin.html