pip install feincms
INSTALLED_APPS = [
...
'feincms',
...
]
python
from django.db import models
from feincms.models import create_base_model
Content = create_base_model(models.Model)
class TextContent(Content):
text = models.TextField()
class Meta:
abstract = True
class MyTextContent(TextContent):
pass
python
from django.contrib import admin
from feincms.admin import editor
from .models import MyTextContent
class MyTextContentInline(editor.PluginStackedInline):
model = MyTextContent
class PageAdmin(editor.TreeAdmin):
inlines = [MyTextContentInline]
admin.site.register(Page, PageAdmin)
python
from django.urls import path
from .views import PageDetailView
urlpatterns = [
path('<slug:slug>/', PageDetailView.as_view(), name='page_detail'),
]
python
from django.views.generic.detail import DetailView
from feincms.models import Base
class PageDetailView(DetailView):
template_name = 'myapp/page_detail.html'
model = Base
html
<!DOCTYPE html>
<html>
<head>
<title>{{ object.title }}</title>
</head>
<body>
{% feincms_render_region "content" %}
</body>
</html>