Django CMS 应用钩子的教程
我有一个Django CMS项目,需要创建一个非CMS应用程序“Achievements”(成就)。客户希望对页面设计有完全的控制权,这意味着这个页面应该是一个CMS页面。不过,我已经创建了特定的视图来展示所有的成就,点击“更多”链接后可以查看详细信息。我需要把它移植到Django CMS上。我按照Django CMS文档中的CMS应用钩子方法尝试过,但都没有成功。
请告诉我一个好的教程,适合学习CMS应用钩子的内容。
1 个回答
12
当你把一个应用的URL连接到Django-CMS页面时,你的应用的URL和视图函数就会接管后面的事情。
假设你的Django-CMS页面的URL是:/achievements/
在这个页面上,你想展示一个成就列表,这些成就信息会来自你的应用。
#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在你连接的页面之后要跟随哪些URL。所以,不仅Django-CMS会根据页面的标识符来获取内容,它还会把匹配的URL模式交给你的应用处理。
希望这样解释能让你明白。