我正在为Django的学校做website。博客部分几乎准备就绪,但在每一页上我都希望有一个侧边栏,其中包含计划中的时间表变更(即当教师生病时,课程将与另一个教室的其他教师一起上课)。实现这一目标的最佳方式是什么?我听说过templatetags,RequestContext和其他类似的东西。这是我的第一个Django项目,我每天都在学习新东西。
现在我在项目中有一个名为blog
的应用(它的模型是:Posts
,Categories
和Pages
; Page
就像一个平面页面,但它由ForeignKey
分配给一个类别。在项目的urls.py
中,每个请求(/admin
旁边)都会转发到blog.urls
,其中会采取进一步的操作(选择适当的视图类)。视图使用通用视图和类继承编写。有:PostListView, PostView, PageView
。 PageListView
是不必要的,因为用户可以从主导航栏中选择Page
。
“更改侧边栏”应允许用户选择日期并重新加载,而无需重新加载整个页面。
如果有人可以帮助我实现它的想法,我将非常感激。如果您有任何疑问 - 请询问。
答案 0 :(得分:0)
'更改侧边栏'应该允许用户选择日期和 重新加载自己而不重新加载整个页面。
好的,所以你需要这部分的AJAX。对于更复杂的项目,你可以使用django-rest-framework或tastypie,但为此我建议做一个AJAX函数,它获取一个日期作为参数并返回一个渲染模板。请参阅this thread和this one too
要包含侧边栏,我只需为其创建一个单独的模板,并包含{%include'changes_sidebar.html'%},您还需要包含javascript来执行ajax请求。