跳转到主要内容

基于Django的页面CMS和CMS构建工具包。

项目描述

https://github.com/feincms/feincms/workflows/Tests/badge.svg

上次使用预构建软件包时,它做对了很多事情,但最终仍然需要修改代码的核心部分,仅仅是因为无法(轻易)自定义系统某个部分的操作方式,这种情况发生在什么时候?

Python的Django框架拯救了我们这些不满足于自己动手做一切或定制软件包直到无法更新的开发者。

框架式设计最大的优点是,它试图不对用户应该做什么有一个过于强烈的观点。它应该让一些事情变得简单,但大多数时候应该“不干涉”。

在发现类似框架的软件设计方法的好处后,我们又回到了总是重写一切的思维方式,并构建了一个对内容结构有很强看法的内容管理系统(CMS)。一个富文本区域、一个媒体库和一些模板,我们就拥有了一个足够简单,可以满足许多页面需求的CMS。但如果我们想要更多呢?如果我们想添加自定义内容?如果用户在上传前无法信任他们可以调整图片大小怎么办?如果想在其他内容之间添加一个画廊怎么办?如果用户应该能够管理不仅是主要内容,还包括侧边栏、页脚呢?

有了FeinCMS,这一切不再显得那么遥不可及。而且,这并不复杂。

FeinCMS是一个非常简单的内容管理系统。它对内容一无所知——只够创建一个用于您自己页面内容类型的管理界面。它允许您通过拖放界面重新排列页面内容块,并且您可以在一个区域(例如侧边栏、主要内容区域或我还没想出来的其他区域)中添加任意数量的内容块。它提供了一些辅助函数,这些函数提供了页面内容块的有序列表。仅此而已。

添加您自己的内容类型非常简单。您非常喜欢markdown,以至于宁愿死也不愿使用富文本编辑器?那么,请将以下代码添加到您的项目中,然后您可以继续使用CMS,而无需被迫使用开发者认为最好的东西。

from markdown2 import markdown
from feincms.module.page.models import Page
from django.db import models

class MarkdownPageContent(models.Model):
    content = models.TextField()

    class Meta:
        abstract = True

    def render(self, **kwargs):
        return markdown(self.content)

Page.create_content_type(MarkdownPageContent)

就是这样。甚至不到十行代码就可以创建您自己的页面内容类型。

入门

访问这些网站

存储库分支

GitHub上的FeinCMS存储库有几个分支。它们的目的和回滚策略如下所述。

  • maint:FeinCMS第二新版本的维护分支。

  • main:FeinCMS的稳定版本。

mainmaint永远不会被回滚或重置。

  • next:FeinCMS的即将推出的版本。这个分支很少会被回滚,但如果发生这种情况,将会发送通知到官方邮件列表。

  • pu或功能分支用于短期项目。这些分支不保证会保留,并且不应该部署到生产环境中。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

feincms-24.8.2.tar.gz (342.9 kB 查看哈希值)

上传 源代码

构建分发

FeinCMS-24.8.2-py3-none-any.whl (444.5 kB 查看哈希值)

上传 Python 3

支持