Django - Возможно ли передавать теги шаблона клиенту асинхронно? - PullRequest
0 голосов
/ 15 мая 2019

Я ищу способ получения тегов шаблонов, в частности формы PayPal, созданной в представлениях.Я пытался с jquery $ .post и $ .get безрезультатно.Также рассматривается как ajax, но кажется, что он получает только json. Один из моих тегов-шаблонов является формой, и его нельзя преобразовать в json: TypeError: Объект типа PayPalPaymentsForm не поддерживает сериализацию JSON

Мне нужно это для пользователейпри нажатии на кнопку браузера вернуться в PayPal, в этом случае мне нужно отправить цену в представление и сгенерировать форму, если я не отправлю товары и скидку, я получу многозначный ключ

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)
});

это не работает так.

Lookingдля решения загрузить теги шаблона в функцию готовности javascript, без дополнительных кнопок.

1 Ответ

0 голосов
/ 15 мая 2019

Я думаю, что вы хотите сохранить переменные django в переменной JS во время рендеринга.

Примерно так должно работать:

payment.html

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


$.post(...);
...