Django 管理后台难以自定义吗?
我这几天一直在玩Django的管理后台,想要了解它,但还是搞不清楚怎么根据我们的需求来定制它。
每次我想找关于管理面板定制的帮助时,看到的都是一些社区和论坛上的文章,讲解怎么定制模板、列表项、列视图等等。但我觉得这些不应该算是真正的Django定制。
如果我想对用户功能做一点小改动,或者对认证模块进行修改,光是弄明白怎么做就得花费很多精力。
难道Django真的这么难定制,还是说网上缺乏相关的帮助,或者是我自己走错了方向?
4 个回答
Django的管理后台很容易根据你的需求进行定制,只要这些需求符合Django可以定制的范围。如果你想要一些比较炫的功能,而这些功能在Django里没有现成的,那你就得找一个插件来实现,或者自己动手去实现,这通常需要你对Django的内部工作原理有很好的理解,这可不是件简单的事。
总的来说:Django让你搭建管理后台变得简单,但如果你需要一些特别的功能,而这些功能又不是现成的,那你就得花不少时间去学习。
根据你的需求,你可以选择是否使用Django。如果需要的功能比较复杂,手动实现可能会更好。
我个人觉得,如果你想让网站看起来像后台管理界面,为什么不直接拿后台的模板和样式来用呢?你可以根据自己的需求,自己做一些视图。网上有很多文档和论坛可以帮助你。虽然我喜欢定制后台管理界面,但老实说,我在一个项目上做了很久,每次我都在想,如果这个项目是按照标准的MVC(或者MTV)方式来做,使用网上免费的模板,或者一些专业制作的模板,再加上各种插件和我的代码,那会简单多了!而且,当你发现请求/响应的方式不够用,想要加很多JavaScript的时候,你会觉得这样做真是明智。我知道,因为在我们的后台项目中,我不得不加各种JavaScript。主要是因为后台很难做到我们想要的效果,所以我们只能在页面上显示后用JavaScript来修复它。当你发现自己在写基于Ajax的系统时,你会想,后台管理界面到底有什么用。
如果我能重新开始这个项目,我可能甚至不会用Django,但我大概还是会用。肯定不会用后台管理界面。
不过,如果你是在做一个基本的CRUD类型的网站,而且用户对样式要求不高,那么用Django加上grappelli,再加点努力,完全可以搞定。记住,Django其实就是一堆Python脚本。只要你能覆盖所有可以覆盖的部分,就能做到,如果你不是太过于追求完美的话。
你没有提供足够的信息来说明你想要实现什么,所以很难判断这个任务有多复杂。你也可以考虑不去修改管理员网站,而是在合适的地方自己创建视图。
不过,这里有一些不错的链接可以帮助你入门: