当前位置: 首页 > 面试题库 >

刷新Django模板生成的

裴星洲
2023-03-14
问题内容

如何刷新Django模板中的某个元素?
例:

{% if object.some_m2m_field.all %}
    <h3>The stuff I want to refresh is below</h3>
    <div id="the-div-that-should-be-refreshed">
    {% for other_object in object.some_m2m_field.all %}
        <a href="www.example.com">{{ other_object.title }}</a>
        &nbsp;
    {% endfor %}
    </div>
{% endif %}

可以说页面中的其他元素触发了一个应刷新上面div的javascript。有没有办法让django刷新模板中的这个特定元素?

如果没有,我将不得不使用常规的JS或jQuery方法来对div进行猴子补丁,而不要使用django模板层的强大功能。另外,上面的代码是实际模板的简化,我使用了模板的大部分功能,因此猴子修补生成的html将是一场噩梦…


问题答案:

你可以使用异步请求来填充div元素。django使用模板引擎回答了异步请求。

在这种情况下,你将必须将div元素的模板代码外包到单独的模板文件中。

用示例更新:

Javascript:

要异步刷新视图,请使用JQuery例如:

$.ajax({
  url: '{% url myview %}',
  success: function(data) {
  $('#the-div-that-should-be-refreshed').html(data);
  }
});

异步视图:

def myview(request):
    object = ...
    return render_to_response('my_template.html', { 'object': object })

模板:

{% for other_object in object.some_m2m_field.all %}
    <a href="www.example.com">{{ other_object.title }}</a>
    &nbsp;
{% endfor %}


 类似资料:
  • 问题内容: 我有一个没有Javadoc的大型代码库,我想运行一个程序来编写带有基本Javadoc信息的框架(例如,为每个方法的参数写@param …),所以我只需要填补剩下的空白。 有人知道一个好的解决方案吗? 编辑: JAutodoc是我一直在寻找的东西。它具有Ant任务,一个Eclipse插件,并使用Velocity作为模板定义。 问题答案: eclipse的JAutodoc插件完全可以满足您

  • 是时候把数据展示出来了!Django提供了一个非常有用的内置来实现-—|-模板标签 什幺是模板标签呢? 正如你在前面章节中所了解的那样, 我们并不能将 Python 代码嵌入到HTML中。 因为浏览器不能识别 Python 代码, 它只能解析HTML。 我们知道,HTML是静态页面,而 Python 则显得更加动态。 Django模板标签允许我们将Python之类的内容翻译成HTML,所以你可以更

  • 在上一章节中我们使用 django.http.HttpResponse() 来输出 "Hello World!"。该方式将数据与视图混合在一起,不符合 Django 的 MVC 思想。 本章节我们将为大家详细介绍 Django 模板的应用,模板是一个文本,用于分离文档的表现形式和内容。 模板应用实例 我们接着上一章节的项目将在 HelloWorld 目录底下创建 templates 目录并建立 h

  • 表单创建页面工作正常,但我需要表单编辑页面。我想我需要一个att,但我找不到。我怎么做? 管理面板的呈现表单 在此输入图像描述 示例我的数据库行(json) {“type”:“header”,“subtype”:“h1”,“label”:“\u003Ch2\u003E\u0130\u015f Ba\u015fvuru Formu\u003C/h2\u003E”,“access”:false},{“

  • 在Android Studio中工作之前,如果在我输入/**并按下enter键之前,我会自动生成下一个带有注释的文档,用于描述参数、返回值等。 当我开始在Android Studio中与Kotlin合作时,我试图生成一个类似的模板,它生成没有返回、参数等的空白模板。 我安装了Dokka,并试图在Android Stuio中进行设置,但没有成功。如何在Android Studio中为Kotlin配置

  • 问题内容: 我正在寻找一种使用django中的模运算符之类的方法。我想做的是在循环中的每个第四个元素中添加一个类名。 使用模数,它看起来像这样: 当然,这是行不通的,因为%是保留字符。还有其他方法吗? 问题答案: 您需要divisibleby(内置的django过滤器)。