首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django中使用引导-表和Javascript (内联可编辑)的意外行为

在Django中使用引导-表和Javascript (内联可编辑)的意外行为
EN

Stack Overflow用户
提问于 2017-03-04 02:32:45
回答 1查看 379关注 0票数 3

我使用带有内联可编辑插件的自举表为笔记本电脑列表创建一个引导表。我的目标是在用户更改表后对csv文件进行更改,如下面的示例(Product :膝上型计算机)

我在下面创建了一个javascript函数,将Ajax数据发送到Django服务器。

代码语言:javascript
复制
// ajax to server
$(function () {
     $( "#table" ).on("click" , 'button',function(event){
      var selected_item = getSelectedRow(); //this will return selected row object
         console.log(selected_item);
         $.ajax({
        type: "post",

        url: '/update/',
        data: {
            'item': JSON.stringify(selected_item)
        },
        success: function (data) {
            alert('success');
            }
        });
     });
});

下面是我的控制台日志的输出

(p类别已更改为Laptop2)

但是,当我试图从Django获取数据时。它给了我下面的输出,其中的(p类别没有更改为Laptop2)

代码语言:javascript
复制
{'webcam': 'WebCam', 'lannum': '2', 'condition': 'Refurbished', 'video2': 'GM204M [GeForce GTX 970M]', 'memorybanks': '8G 2133MHz/8G 2133MHz/', 'cpus': '1', 'customernotes': '', 'lanmodels': 'Killer E2400 Gigabit Ethernet Controller/WLAN QCA6174 802.11ac Wireless Network Adapter/', 'internalnotes': '', 'pline': 'Alienware', 'sku': 'LEN-LT-TPEdge-03BV001', 'cddvd': '', 'hddcapacity': '0.0G', 'coresthreads': '4 | 8', 'sound': 'Sound-Yes', 'pmodel': '15 R2', 'resolution': '1230x1000', 'ptype': 'Minitower', 'grade': 'GradeB:R2-Ready for Resale', 'touchscreen': 'Yes', 'hddqty': '0', 'pcategory': 'Laptop', 'processor': 'i7-6700HQ  2.60GHz', 'memory': '16G', 'serialnum': 'BFYNM72', 'video1': 'GM204M [GeForce GTX 970M]', 'hddmodels': '', 'manufacturer': 'Alienware', 'motherboard': 'Alienware 15 R2', 'batch': '03BV', 'hddserialnum': ''}

我的Django视图函数:

代码语言:javascript
复制
@csrf_exempt
def update_page(request):
    file_path = os.path.join(CSV_BASE_DIR, CURRENT_BATCH, '{}.csv'.format(CURRENT_BATCH))
    if request.method == 'POST':
        item = json.loads(request.POST.get('item'))
        pprint.pprint(item)
        overwrite_csv(file_path,item)
    else:
        print('no data back!')
    return HttpResponse('yes')

当我再次更改输入时,我注意到了。该值将被更改为laptop2。它似乎并没有像我所期望的那样节省价值。我想知道,我的Django服务器是否会在单击复选标记时立即获得相同的值?

谢谢你们都是先进的。

EN

回答 1

Stack Overflow用户

发布于 2022-07-03 12:27:14

确保数据源在列表和更新中都是相同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42591396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档