Django 中的 Ajax 侧边栏
Posted
技术标签:
【中文标题】Django 中的 Ajax 侧边栏【英文标题】:Ajax sidebar in Django 【发布时间】:2014-06-22 22:32:52 【问题描述】:我正在为我在 Django 的学校做一个website。博客部分几乎准备好了,但是在每个页面上,我都希望有一个侧边栏,其中包含计划中的时间表更改(即,当一位老师生病并且班级将与另一位教室的另一位老师一起上课时)。实现它的最佳方法是什么?我听说过模板标签、RequestContext 和其他类似的东西。那是我的第一个 Django 项目,我每天都在学习新东西。
现在我在项目中有一个名为 blog
的应用程序(它的模型是:Posts
、Categories
和 Pages
;Page
就像一个平面页面,但它被分配给一个类别ForeignKey
)。在项目的urls.py
中,每个请求(除了/admin
)都被转发到blog.urls
,在那里采取进一步的行动(选择适当的视图类)。视图是使用通用视图和类继承编写的。有:PostListView, PostView, PageView
。不需要PageListView
,因为用户可以从主导航栏中选择Page
。
“更改侧边栏”应允许用户选择日期并重新加载自身,而无需重新加载整个页面。
如果有人可以帮助我提出实施它的想法,我将非常感激。如果您有任何问题 - 提问。
【问题讨论】:
【参考方案1】:“更改侧边栏”应允许用户选择日期和 重新加载自身而不重新加载整个页面。
好的,所以这部分需要 AJAX。对于更复杂的项目,您可以使用 django-rest-framework 或 sweetpie 但为此我建议执行一个 AJAX 函数,该函数将日期作为参数并返回一个渲染模板。见this thread和this one too
要包含侧边栏,我将为它创建一个单独的模板并包含 % include 'changes_sidebar.html' % 您还需要包含 javascript 来执行 ajax 请求。
【讨论】:
感谢您提供的所有提示。这就是我想要得到的答案。我已经实现了它,现在运行良好。以上是关于Django 中的 Ajax 侧边栏的主要内容,如果未能解决你的问题,请参考以下文章
从ajax侧边栏加载的带有bootstrap-4动态侧边栏菜单的Adminlte 3打开不起作用
如何使用 CBV 在我的所有 Django 模板中创建侧边栏?
Django 博客开发教程 10 - 页面侧边栏:使用自定义模板标签
在 adminlte-3 bootstrap-4 treeview 打开/隐藏页面加载后加载动态 AJAX 侧边栏菜单 jquery 不起作用