Django CMS App Hook教程

时间:2012-02-13 10:29:51

标签: python django django-views django-urls django-cms

我有一个Django CMS项目,需要创建一个非CMS应用程序“Achievemnets”。客户希望完全控制页面设计,这意味着页面应该是CMS页面。但是我已经创建了特定的视图来显示页面中的所有achievemtns并单击更多链接,它将详细显示。我需要将它移植到Django CMS我根据Django CMS文档中的CMS App Hook方法尝试过。但它们都不起作用。

请告诉我一个有助于学习CMS App Hooking的教程

1 个答案:

答案 0 :(得分:12)

当您将应用程序的URL“挂钩”到Django-CMS页面时,您应用程序的URL和视图功能将从那里接管。

假设您的Django-CMS页面网址为:/ achievement /

在此页面上,您希望显示一个成就列表,该列表将来自您的应用程序。

#your_app.urls
from django.conf.urls.defaults import url, patterns

urlpatterns = patterns('your_app.views',
    (r'^$', 'index'),
)

#your_app.views
from django.shortcuts import render

from your_app.models import Achievement

def index(request):
    achievements = Achievement.objects.all()
    return render(request, 'achievements/index.html',
        {'achievements' : achievements})

您编写的Django-CMS应用程序钩子告诉Django-CMS除了您将应用程序挂钩的页面之外,还要跟随之后的。因此,不仅Django-CMS会通过slug为页面提取内容,而且还会将匹配的URL模式移交给您的应用。

我希望这是有道理的。