【问题标题】:Django:how to render template and send context to template with ajax?Django:如何使用 ajax 渲染模板并将上下文发送到模板?
【发布时间】:2020-09-08 08:05:46
【问题描述】:

(对不起我的英语不好)

你好。我部分知道 ajax 是如何与 Django 一起使用的。但我有一些问题。其中一些是:如何使用 ajax 渲染模板?如何使用 ajax 将 Django 发送到模板?我搜索了互联网,但我找不到我想要的确切内容。 如果您还可以推荐有关使用 ajax 和 Django 的详细资源,我会很高兴。 (免费:()。请帮帮我。谢谢。

【问题讨论】:

    标签: python django ajax


    【解决方案1】:

    首先,您必须在 Django 的 views.py 文件中创建实例,该文件返回您希望在模板中显示的数据。 然后你需要在模板中创建一个 ajax 函数。这是一个基本的 ajax 函数,可以根据您的需要进行修改:

    <script>
    function loadDoc() {
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
          document.getElementById("demo").innerHTML = this.responseText;
        }
      };
      xhttp.open("GET", "demo_get.asp", true);
      xhttp.send();
    }
    </script>
    

    它所做的是在您的情况下访问数据源,它可能是views.py 中的实例。 “readyState == 4”告诉你数据加载完成,而“this.status == 200”告诉你请求是否成功。

    如何显示数据的问题取决于您和数据的类型。

    【讨论】:

    • 谢谢伙计。这个 ajax 的视图部分将如何?如果你把它扔到那部分,我会很高兴的。至于数据发送部分,我想发送一个上下文(带ajax)。例如:
    • ``` context = { 'form':form, 'title':'title', 'btntext':'text', } ```
    • 提供的 ajax 没有 views.py,因为它是一个基本的 ajax,便于理解。所以你的上下文是一个python dict。这取决于您希望如何显示它。如果您可以将现有代码包含在问题中,那就太好了。我不认为我可以更详细地了解这么多的信息
    猜你喜欢
    • 2022-01-01
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 2022-09-27
    • 2011-07-14
    • 2020-02-06
    • 2015-06-23
    • 2018-11-30
    相关资源
    最近更新 更多