Django-是否可以将模板标签异步传输到客户端?

时间:2019-05-15 10:53:52

标签: ajax django post get

我正在寻找一种接收模板标签的方法, 特别是在视图中生成的贝宝表单。 我一直在尝试使用jQuery $ .post和$ .get无济于事。 也被认为是ajax,但似乎只接收json 我的模板标签之一是表格,无法将其转换为json: TypeError:PayPalPaymentsForm类型的对象不可JSON序列化

对于在Paypal中单击浏览器后退按钮的用户,我需要这样做, 如果发生这种情况,我需要将价格发送给视图 并生成表格, 如果我不发送商品和折扣,我将获得multivaluedictkey

views.py

return render(request, 'pagamentos/payment.html', { 'morada':morada, 'telemovel':telemovel,'codigo_postal':codigo_postal, 'cidade':cidade, 'form': form })

payment.html

$.post( "/token/", {
    items: x.toString(),
    desconto: y.toString() ,
    'csrfmiddlewaretoken': '{{ csrf_token }}' },
    function( data ) {
      console.log(data.morada)
      console.log(data.telemovel)
      console.log(data.cidade)
      console.log(data.codigo_postal)
      console.log(data.form)
});

它不是那样工作的。

寻找一种解决方案,以在javascript ready函数中加载模板标签,而无需其他按钮。

1 个答案:

答案 0 :(得分:0)

我认为您想要的是在渲染过程中将django变量保留在JS变量中。

类似的东西应该可以工作:

payment.html

var data = {
    morada: '{{ morada }}',
    telemovel: '{{ telemovel }}',
    cidade: '{{ cidade }}',
    // ... other variables
};


$.post(...);