Django 中的 Ajax 侧边栏

Posted

技术标签:

【中文标题】Django 中的 Ajax 侧边栏【英文标题】:Ajax sidebar in Django 【发布时间】:2014-06-22 22:32:52 【问题描述】:

我正在为我在 Django 的学校做一个website。博客部分几乎准备好了,但是在每个页面上,我都希望有一个侧边栏,其中包含计划中的时间表更改(即,当一位老师生病并且班级将与另一位教室的另一位老师一起上课时)。实现它的最佳方法是什么?我听说过模板标签、RequestContext 和其他类似的东西。那是我的第一个 Django 项目,我每天都在学习新东西。

现在我在项目中有一个名为 blog 的应用程序(它的模型是:PostsCategoriesPagesPage 就像一个平面页面,但它被分配给一个类别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打开不起作用

Django模板侧边栏不能正常渲染

如何使用 CBV 在我的所有 Django 模板中创建侧边栏?

Django 博客开发教程 10 - 页面侧边栏:使用自定义模板标签

在 adminlte-3 bootstrap-4 treeview 打开/隐藏页面加载后加载动态 AJAX 侧边栏菜单 jquery 不起作用

主要内容流动的右浮动侧边栏 - 如何?