从 Django 中的按钮单击渲染另一个模板

Posted

技术标签:

【中文标题】从 Django 中的按钮单击渲染另一个模板【英文标题】:Rendering another template from a button click in Django 【发布时间】:2013-04-26 04:29:04 【问题描述】:

我的 django 项目中有以下模板文件:

    base.html base_test1.html base_test2.html

这里有base_test1.htmlbase_test2.html extends base.html。我的主页呈现base_test1.html。在我的主页中,我有一个按钮,按下该按钮应呈现base_test2.html。我应该如何做到这一点?

我一直在尝试使用 jQuery ajax 调用,以便当按下按钮时,我会在我的应用程序的 views.py 中调用相应的视图。但这似乎不起作用,因为 ajax 调用只是将 html 页面返回给请求而不是呈现它。

【问题讨论】:

【参考方案1】: 创建另一个 url,查看我认为您已经完成的第二个模板。 将按钮设为指向此网址的链接。这样当按下按钮时,就会呈现带有第二个模板的页面。

如果你想使用 ajax,base_test2.html 不应该返回完整的 HTML 页面。但只是 html 页面中的一些块,您在原始页面中替换它。

【讨论】:

以上是关于从 Django 中的按钮单击渲染另一个模板的主要内容,如果未能解决你的问题,请参考以下文章

Django - 直接从 urls.py 渲染 HTML 模板

使用 ajax 时,Django 视图不呈现模板

为啥 django 模板渲染字典这么慢?

防止 Django 模板表单中的重定向

状态更改后反应无法正确渲染

渲染模板 django cms 插件中的简单循环