Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Django模板变量替换为通过Javascript创建的变量_Javascript_Html_Django - Fatal编程技术网

将Django模板变量替换为通过Javascript创建的变量

将Django模板变量替换为通过Javascript创建的变量,javascript,html,django,Javascript,Html,Django,我对Django和Javascript非常陌生(

我对Django和Javascript非常陌生(<3周!),有一个可能很愚蠢的问题,因此非常感谢您的帮助

在我当前的代码中,我有一个用HTML呈现的表,代码如下:

<table border="1" class="dataframe">
      <thead>
        <tr>
          <th>{{ results.0.columns.1 }}</th>
          <th>{{ results.0.columns.1 }} </th>
          <th>{{ results.0.columns.2 }} </th>
          <th>{{ results.0.columns.6 }} </th>
        </tr>
      </thead>
      <tbody>
      {% for row in results.0.values %}
        <tr>
          <td> {{row.0}} </td>
          <td> {{row.1}} </td>
          <td><img src="{{row.2}}" alt="img" height="150"></td>
          <td> {{row.6}} </td>
        </tr>
      {% endfor %}
      </tbody>
    </table>

Javascript中创建的
字符串
变量会产生完全模仿Django模板变量的结果。例如,
string=results.0.columns.1

但是,我不确定如何将这个字符串变量传递到HTML本身。html的理想格式如下:

      <thead>
        <tr>
          <th>{{ string1 }}</th>
          <th>{{ string2 }} </th>
          <th>{{ string3 }} </th>
          <th>{{ string4 }} </th>
        </tr>
      </thead>
      <tbody>
      {% for row in string5 %}
        <tr>
          <td> {{row.0}} </td>
          <td> {{row.1}} </td>
          <td> {{row.2}} </td>
          <td> {{row.6}} </td>
        </tr>
      {% endfor %}
      </tbody>
    </table>

Any guidance on how I can do this? 


{{string1}}
{{string2}}
{{string3}}
{{string4}}
{string5%中的行的%1}
{{row.0}}
{{row.1}}
{{row.2}}
{{row.6}}
{%endfor%}
有关于我如何做到这一点的指导吗?

首先,没有愚蠢的问题,只有一些我们不知道的问题,所以可以问

说,

Django在服务器端“构建”页面的HTML,在这一点上,您的js甚至不会梦想被执行。当内容(之前由Django生成)下载到您的浏览器时,Javascript就会执行,并且您的浏览器就是执行它的浏览器

正如您所见,在使用Django模板系统生成HTML时,不能使用js变量。这些变量在生成HTML时不存在

正如你之前所说,由于你对Django非常陌生,我会给你一个建议,由你自己来读一读

可能的方法
    • 您可以在Django中实现一个视图,该视图使用从js传递给视图的变量呈现一些HTML。并使用js将返回的HTML包含在页面(DOM)中
    • 在填充表时,有很多js插件用于呈现表,其中一些插件允许您指定数据源。使用其中一个,然后为调用a的数据提供一个Django视图,该视图返回数据(建议用于此:。)
    • 不要使用Django模板系统来呈现应用程序的该部分,只使用HTML+js,然后使用js从Django调用视图以获取一些数据

  • 首先,没有愚蠢的问题,只有一些我们不知道的问题,所以可以问

    说,

    Django在服务器端“构建”页面的HTML,在这一点上,您的js甚至不会梦想被执行。当内容(之前由Django生成)下载到您的浏览器时,Javascript就会执行,并且您的浏览器就是执行它的浏览器

    正如您所见,在使用Django模板系统生成HTML时,不能使用js变量。这些变量在生成HTML时不存在

    正如你之前所说,由于你对Django非常陌生,我会给你一个建议,由你自己来读一读

    可能的方法
    • 您可以在Django中实现一个视图,该视图使用从js传递给视图的变量呈现一些HTML。并使用js将返回的HTML包含在页面(DOM)中
    • 在填充表时,有很多js插件用于呈现表,其中一些插件允许您指定数据源。使用其中一个,然后为调用a的数据提供一个Django视图,该视图返回数据(建议用于此:。)
    • 不要使用Django模板系统来呈现应用程序的该部分,只使用HTML+js,然后使用js从Django调用视图以获取一些数据

  • 一旦您在浏览器中运行javascript,就不再有任何django模板的概念。然后,您将处理纯html/javascript

    在这种情况下,三种最常见的方法是:

  • 将html和javascript作为与模板完全分离的功能组件交付。仅使用模板构建初始页面。不幸的是,在大多数情况下,这将导致功能重复
  • 将数据作为json绑定到您提供的wepage中,然后使用javascript模板语言在客户端呈现数据
  • 在客户端和服务器上使用相同的模板系统。您可以使用现有的众多模板系统(react/angular/etc)中的任何一个,并运行node.js服务器在服务器端渲染它。这可能是一个深而复杂的兔子洞。你的谷歌关键词应该是“django javascript服务器端呈现”

  • 一旦您在浏览器中运行javascript,就不再有任何django模板的概念。然后,您将处理纯html/javascript

    在这种情况下,三种最常见的方法是:

  • 将html和javascript作为与模板完全分离的功能组件交付。仅使用模板构建初始页面。不幸的是,在大多数情况下,这将导致功能重复
  • 将数据作为json绑定到您提供的wepage中,然后使用javascript模板语言在客户端呈现数据
  • 在客户端和服务器上使用相同的模板系统。您可以使用现有的众多模板系统(react/angular/etc)中的任何一个,并运行node.js服务器在服务器端渲染它。这可能是一个深而复杂的兔子洞。你的谷歌关键词应该是“django javascript服务器端呈现”
  • document.getElementByTagName('th')。innerHTML=string;document.getElementByTagName('th')。innerHTML=string;
          <thead>
            <tr>
              <th>{{ string1 }}</th>
              <th>{{ string2 }} </th>
              <th>{{ string3 }} </th>
              <th>{{ string4 }} </th>
            </tr>
          </thead>
          <tbody>
          {% for row in string5 %}
            <tr>
              <td> {{row.0}} </td>
              <td> {{row.1}} </td>
              <td> {{row.2}} </td>
              <td> {{row.6}} </td>
            </tr>
          {% endfor %}
          </tbody>
        </table>
    
    Any guidance on how I can do this?