如何在 django 中重新加载一段网页?

Posted

技术标签:

【中文标题】如何在 django 中重新加载一段网页?【英文标题】:how to reload a segment of webpage in django? 【发布时间】:2019-07-25 11:55:42 【问题描述】:

在 django 中,我试图通过加载 html 文件来制作更改网页一部分的按钮。 html 文件显示地图和统计数据等内容,因此它们必须分开。 我的方法是使用 ajax 调用并在视图中返回 html 文件。

<script type="text/javascript" >
function mapcall (office, year) 
        console.log(office, year, "clicked")
    $.ajax (
        method : "GET", 
        url: '/map/', // % url "map" % end point 
        data: 
            office_called: office,
            year_called: year,
        ,
        success: function (map)
            console.log("map is here ", map)
            $("#maparea").load($( "% static 'my_html_return' %"
            )),
        error: function (error_data)
        alert("data error, sorry")
        
    )

</script>
<div id="maparea">
    % if map_return %
        % with map_template=map_return|stringformat:"s"|add:".html" %
            % include "mypath/"|add:map_template %
        % endwith %
    % endif %
</div>

这是我的观点.py

def get_map (request, *args, **kwargs):
year = request.GET.get("year_called")          
office = request.GET.get("office_called") 

map_return = "map"+str(year)+office

return render(request, "mypath/home.html", 
"title": "Home", "map_return":map_return)

我不知道如何进行这项工作。任何建议表示赞赏。

【问题讨论】:

如果你在另一个 html 文件中有地图,为什么不使用包含标签 包含在 django 标签中?还是别的什么? 顺便提一下,地图其实是一个包含图片地图的html文件 【参考方案1】:

我发现在我的情况下我需要做 .html(将 ajax 返回的 html 作为参数)而不是 .load。 我希望这对其他人有所帮助。

【讨论】:

以上是关于如何在 django 中重新加载一段网页?的主要内容,如果未能解决你的问题,请参考以下文章

如何在javascript中单击按钮重新加载网页,但在重新加载调用函数后

如何在 DJango 中停止页面重新加载 ajax jquery

文件更改时如何自动重新加载Django?

如何在特定时间自动重新加载网页?

Django:如何在不重新加载的情况下在页面上显示更新的信息

当用户点击地址栏输入使用 JQuery 或 JS 时,如何防止网页重新加载