python 用于集成到现有站点的最佳 Django“CMS”组件
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/302983/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Best Django 'CMS' component for integration into existing site
提问by kkubasik
So I have a relatively large (enough code that it would be easier to write this CMS component from scratch than to rewrite the app to fit into a CMS) webapp that I want to add basic Page/Menu/Media management too, I've seen several Django pluggables addressing this issue, but many seem targeted as full CMS platforms.
所以我有一个相对较大的(足够多的代码,从头开始编写这个 CMS 组件比重写应用程序以适应 CMS 更容易)我也想添加基本的页面/菜单/媒体管理的 webapp,我已经看到了几个解决这个问题的 Django 插件,但许多似乎是针对完整的 CMS 平台。
Does anyone know of a plugin that can easily integrate with existing templates/views and still sports a powerful/comprehensive admin interface?
有谁知道可以轻松与现有模板/视图集成并且仍然具有强大/全面的管理界面的插件?
回答by zenWeasel
I have worked with all three (and more) and they are all built for different use cases IMHO. I would agree that these are the top-teir choices.
我已经与这三个(以及更多)一起工作过,恕我直言,它们都是为不同的用例构建的。我同意这些是顶级选择。
The grid comparison at djangopluggables.com certainly can make evaluating each of these easier.
djangopluggables.com 上的网格比较当然可以使评估每一个都更容易。
django-cmsis the most full-featured and is something you could actually hand over to clients without being irresponsible. Even though it has features for integrating other apps, it doesn't have the extensibility/integration of FeinCMS or the simplicity of django-page-cms. That being said, I think the consensus is that this is the best Open Source CMS for Django. However, it's docs are a little lacking. update: I have been told that integrating apps into DjangoCMS 2.1 has been improved.
django-cms是功能最齐全的,您可以实际将其交给客户而不会不负责任。尽管它具有集成其他应用程序的功能,但它没有 FeinCMS 的可扩展性/集成性或 django-page-cms 的简单性。话虽如此,我认为大家一致认为这是 Django 最好的开源 CMS。但是,它的文档有点缺乏。更新:有人告诉我,将应用程序集成到 DjangoCMS 2.1 中得到了改进。
FeinCMS- Is a great set of tools for combining and building CMS functionality into your own apps. It's not "out of the box" at all, which means that you can integrate it however you want. It doesn't want to take over your urls.py or control how you route pages. It's probably a prototype for the next-generation of truly pluggable apps in Django. - We are moving from django-page-cms to FeinCMS because our primary models is high volume eCommerce and I have custom content-types I want to integrate that aren't blogs or flash. Good documentation and support as well.
FeinCMS- 是一套很棒的工具,用于将 CMS 功能组合和构建到您自己的应用程序中。它根本不是“开箱即用”,这意味着您可以随心所欲地集成它。它不想接管您的 urls.py 或控制您如何路由页面。它可能是 Django 中下一代真正可插拔应用程序的原型。- 我们正在从 django-page-cms 转向 FeinCMS,因为我们的主要模型是高容量电子商务,而且我有我想要集成的自定义内容类型,而不是博客或 Flash。良好的文档和支持。
Django-page-cms- Is great if you want to just have some "About Us" pages around your principle application. Its menu system is not truly hierarchical and building your page presentation is up to you. But it's very simple, unobtrusive, and very easy to slap into your app and get a navigation going that clients can manage, or even for yourself. It has no docs that I know of, but you won't really need any. Read the code and you will get it all in 30 minutes or less.
Django-page-cms- 如果您只想在主要应用程序周围有一些“关于我们”页面,那就太好了。它的菜单系统并不是真正的分层结构,构建页面演示由您决定。但它非常简单、不引人注目,而且很容易插入您的应用程序并获得客户可以管理的导航,甚至可以为您自己管理。它没有我知道的文档,但您实际上不需要任何文档。阅读代码,您将在 30 分钟或更短的时间内获得全部内容。
update
更新
Mezzanine- Is a very well designed CMS and one that I have finally settled on for most of my client work, mostly because it has an integrated eCommerce portion. But beyond that it has very extensible page models, and a custom admin interface that a client might be willing to use. It also has the best "out of the box" experience i.e. You can have a full fledged site up with one command.
Mezzanine- 是一个设计精良的 CMS,我终于为我的大部分客户工作选择了它,主要是因为它有一个集成的电子商务部分。但除此之外,它还有非常可扩展的页面模型,以及客户可能愿意使用的自定义管理界面。它还具有最佳的“开箱即用”体验,即您可以使用一个命令创建一个完整的站点。
回答by Matthias Kestenholz
If you do not necessarily want a finished CMS with a fixed feature set, but rather tools on top of Django to build your own CMS I recommend looking into FeinCMS. It follows a toolkit philosophy instead of trying to solve everything and (too) often failing to do so.
如果您不一定想要一个具有固定功能集的完整 CMS,而是想要基于 Django 的工具来构建您自己的 CMS,我建议您查看 FeinCMS。它遵循工具包理念,而不是试图解决所有问题,并且(也)经常失败。
http://github.com/matthiask/feincms/tree/master
http://github.com/matthiask/feincms/tree/master
Disclaimer: It is my brainchild, and the result of too many frustrating experiences trying to customize another CMS for the needs of my customers.
免责声明:这是我的心血结晶,也是尝试根据客户的需求定制另一个 CMS 的太多令人沮丧的经历的结果。
回答by Matthias Kestenholz
回答by kimus
If you need some more features then the simple django-page-cms just checkout django-blocks (http://code.google.com/p/django-blocks/). Has multi-language Menu, Flatpages and even has a simple Shopping Cart!!
如果您需要更多功能,那么简单的 django-page-cms 只需签出 django-blocks ( http://code.google.com/p/django-blocks/)。有多语言菜单、Flatpages,甚至还有一个简单的购物车!!
回答by hopla
There is a very nice overview of Django CMS apps on the Django wiki!
Django wiki 上有一个非常好的 Django CMS 应用概述!
回答by zgoda
See django-plugableswebsite, there are few CMS components for Django listed (and some look really good).
请参阅django-plugables网站,列出的 Django CMS 组件很少(有些看起来非常好)。
回答by Matthew Marshall
I've had success with integrating django-cms. Just include it at the end of your urlconf and it won't interfere. (You'll just lose the the nice 404 page when DEBUG=True
)
我在集成django-cms方面取得了成功。只需将它包含在 urlconf 的末尾,它就不会干扰。(当 时,您将丢失漂亮的 404 页面DEBUG=True
)
Using various combinations of context processors and custom template tags I've been able to do everything I've needed, but if you reallyneed to insert the content into your own view, that should be easy enough. (Perhaps call cms.views.render_page()
with a template that lacks all the wrapper html?)
使用上下文处理器和自定义模板标签的各种组合,我已经能够完成我需要的一切,但是如果您真的需要将内容插入到您自己的视图中,那应该很容易。(也许cms.views.render_page()
使用缺少所有包装器 html 的模板调用?)