簡體   English   中英

在 django 的 html 的 javascript 中使用 views.py 中的代碼

[英]Using code from views.py in javascript of html in django

我正在為我的 django 網站進行支付集成,在我的 views.py 中,我有一個 function 用於檢查交易是否成功,我想在我的 javascript 中使用該條件,所以可以保存詳細信息(如果交易成功完成,則用戶在表單中輸入。 這是我的views.py,用於檢查是否反式。 成功與否:

@csrf_exempt
def handlerequest(request):
    # paytm will send you post request here
    form = request.POST
    response_dict = {}
    for i in form.keys():
        response_dict[i] = form[i]
        if i == 'CHECKSUMHASH':
            checksum = form[i]

    verify = Checksum.verify_checksum(response_dict, MERCHANT_KEY, checksum)
    if verify:
        if response_dict['RESPCODE'] == '01':
            print('order successful')
        else:
            print('order was not successful because' + response_dict['RESPMSG'])
    return render(request, 'paymentstatus.html', {'response': response_dict})

這是我的 javascript,它會在用戶點擊付款按鈕時自動提交用戶輸入的詳細信息:

document.getElementById('payment-info').addEventListener('click', function (e) {
      submitFormData()
    })

    function submitFormData() {
      console.log('Payment Button Clicked')
      var userFormData = {
        'name': null,
      }

      var shippingInfo = {
        'address': null,
      }

      shippingInfo.address = form.address.value
      userFormData.name=form.name.value

      var url = "/process_order/"
      fetch(url, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'X-CSRFToken': csrftoken,
        },
        body:JSON.stringify({'form': userFormData, 'shipping': shippingInfo }),
      })
        .then((response) => response.json())
        .then((data) =>  {
          console.log('Success:', data);
          alert('Transaction Completed')
          window.location.href = "{% url 'index' %}"
        })

    }

我想找到一種方法,以便僅在以下情況成立時才能調用此 submitFormData:

if response_dict['RESPCODE'] == '01':
            print('order successful')

(在我看來.py)

您的paymentstatus.html包含此 JS 代碼。 正確的? 如果是這樣,那么您已經在 HTML 中傳遞了用於渲染的response_dict 您應該能夠根據“RESPCODE”的值來調節 JS 代碼的調用。 它應該是這樣的 -

{% for obj in response %}
    {% if obj.RESPCODE == '01'}
        // call to your JS code
    {% else %}
        // something else
{% endfor %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM