通常在 SO 上,您会被要求展示您迄今为止尝试过的内容,但今天是您的幸运日??。
这是一个存根,说明如何实现您所描述的。关于占位符,您可以在文档here 和here 中找到更多信息。
祝你好运!
models.py
class Event(models.Model):
name = models.CharField(max_length=200)
views.py
from django.views.generic import ListView, DetailView
class EventListView(ListView):
model = Event
template_name = "events/listview.html"
class EventDetailView(ListView):
model = Event
template_name = "events/detailview.html"
apphook_urls.py
urlpatterns = [
path('', EventListView.as_view(), name='event-list'),
path('<int:pk>/', EventDetailView.as_view(), name='event-detail'),
]
cms_apps.py
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
class EventsAppHook(CMSApp):
name = "Events"
app_name = "events
def get_urls(self, *args, **kwargs):
return ["events.apphook_urls"]
apphook_pool.register(EventsAppHook)
一切都启动并运行后,您将 AppHook 附加到您选择的 cms 页面,您应该一切顺利。