在AJAX调用之后,如何更新django模板上下文变量?

HC

我有一个表Product,它显示一组产品的信息。

    <table id="item_table" class="table table-sm table-hover table-bordered">
        <thead class="thead-inverse">
        <tr>
            <th colspan="2">Date</th>
            <th colspan="6">Product name</th>
            <th colspan="2">Category</th>
            <th colspan="2">Amount</th>
        </tr>
        </thead>
        <tbody>
            {% for item in product_list %}
            <tr>
                <td colspan="2">{{ item.date }}</td>
                <td id="item_name_format" colspan="6">{{ item.name }}</td>
                {% if item.category_id %}
                <td id="item_name_format" colspan="2">{{ item.category_id.level1_desc }}</td>
                {% endif %}
                <td id="item_amt_format" colspan="2">${{ item.amount|intcomma }}</td>
            </tr>
            {% endfor %}
        </tbody>
    </table>

我正在使用下面的Ajax调用您更新表。

$(document).ready(function(){

// Submit post on submit
$('.item_num').on('click', function(event){
    event.preventDefault();
    var item_num = $(this).attr('id');
    update_item(item_num);
});

function update_item(item_num) {
    console.log(item_num) // sanity check
    $.ajax({
        type: 'GET',
        url:'update_items', 
        data: { 'item_num': item_num },

        success: function(result){
            console.log(result);
            ???$('item_table').product_list = result;???
        },
... more code

如何在我的Ajax调用中使用“结果”更新变量product_list?

这应该更新表吧?

谢谢

他说

你不能这样。更好的方法是通过ajax加载html的那部分。

您的ajax视图:

def update_items(request):
    product_list = your_data
    return render(request, 'table_body.html', {'product_list':product_list})

您的主要html:

<tbody class="table_body">
   {% include 'table_body.html' %}
</tbody>

table_body.html:

{% for item in product_list %}
  <tr>
     <td colspan="2">{{ item.date }}</td>
     <td id="item_name_format" colspan="6">{{ item.name }}</td>
     {% if item.category_id %}
      <td id="item_name_format" colspan="2">{{ item.category_id.level1_desc }}</td>
     {% endif %}
      <td id="item_amt_format" colspan="2">${{ item.amount|intcomma }}</td>
  </tr>
{% endfor %}

你的ajax看起来像这样:

function update_item(item_num) {
    console.log(item_num) // sanity check
    $('.table_body').html('').load(
        "{% url 'update_items' %}?item_num=" + item_num
    ); // <--- this code instead of $.ajax(lala)

在这里使用这个load()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用 Ajax 更新通过上下文传递的 Django 变量

来自分类Dev

是否可以在Django中将Ajax响应作为模板上下文变量传递?

来自分类Dev

模板的Django上下文变量名称

来自分类Dev

如何将Django模板上下文变量传递给JS函数

来自分类Dev

如何在Django模板中比较上下文变量和SQL ID?

来自分类Dev

如何在Django模板中比较上下文变量和SQL ID?

来自分类Dev

如何在模板中设置上下文变量

来自分类Dev

如何在Python 3.5中的异步方法调用之间传递上下文?

来自分类Dev

模板未显示上下文变量

来自分类Dev

在ajax调用之后更新数据属性

来自分类Dev

有没有办法在模板上下文更新之前/之后插入回调?

来自分类Dev

Django模板上下文错误

来自分类Dev

与包含的模板django共享上下文

来自分类Dev

Django模板上下文未显示

来自分类Dev

Django 模板上下文对象的目的?

来自分类Dev

Django 模板上下文不会呈现

来自分类Dev

比较上下文变量django

来自分类Dev

django继承上下文变量

来自分类Dev

使用从Django视图传递的上下文变量自动填充Django模板(无js)

来自分类Dev

如何使用传递给模板的附加上下文替换模板变量

来自分类Dev

在Ajax调用之外更新变量

来自分类Dev

django在模板中显示上下文数据,而无需通过url调用视图

来自分类Dev

在Django ssi模板标签中发送上下文变量

来自分类Dev

Django 1.9无法使用{{}}将上下文变量传递给模板

来自分类Dev

在Django模板的内部CSS中使用上下文变量

来自分类Dev

检查 Django 模板上下文变量中是否存在文本

来自分类Dev

如何使用EmbeddedViewRef的上下文变量

来自分类Dev

如何访问从ListView传递到模板的上下文变量中的字典键?

来自分类Dev

Angular,如何从字符串解析模板并传递当前上下文变量

Related 相关文章

  1. 1

    如何使用 Ajax 更新通过上下文传递的 Django 变量

  2. 2

    是否可以在Django中将Ajax响应作为模板上下文变量传递?

  3. 3

    模板的Django上下文变量名称

  4. 4

    如何将Django模板上下文变量传递给JS函数

  5. 5

    如何在Django模板中比较上下文变量和SQL ID?

  6. 6

    如何在Django模板中比较上下文变量和SQL ID?

  7. 7

    如何在模板中设置上下文变量

  8. 8

    如何在Python 3.5中的异步方法调用之间传递上下文?

  9. 9

    模板未显示上下文变量

  10. 10

    在ajax调用之后更新数据属性

  11. 11

    有没有办法在模板上下文更新之前/之后插入回调?

  12. 12

    Django模板上下文错误

  13. 13

    与包含的模板django共享上下文

  14. 14

    Django模板上下文未显示

  15. 15

    Django 模板上下文对象的目的?

  16. 16

    Django 模板上下文不会呈现

  17. 17

    比较上下文变量django

  18. 18

    django继承上下文变量

  19. 19

    使用从Django视图传递的上下文变量自动填充Django模板(无js)

  20. 20

    如何使用传递给模板的附加上下文替换模板变量

  21. 21

    在Ajax调用之外更新变量

  22. 22

    django在模板中显示上下文数据,而无需通过url调用视图

  23. 23

    在Django ssi模板标签中发送上下文变量

  24. 24

    Django 1.9无法使用{{}}将上下文变量传递给模板

  25. 25

    在Django模板的内部CSS中使用上下文变量

  26. 26

    检查 Django 模板上下文变量中是否存在文本

  27. 27

    如何使用EmbeddedViewRef的上下文变量

  28. 28

    如何访问从ListView传递到模板的上下文变量中的字典键?

  29. 29

    Angular,如何从字符串解析模板并传递当前上下文变量

热门标签

归档