Django会话问题,同时重定向到其他

2024-04-26 09:55:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在与Django一起开发电子商务网站,因此在通过Paytm支付网关成功支付后(集成测试)

我从Paytm测试集成门户重定向到支付成功页面(本地服务器)后,本地服务器出现会话问题,当我在支付成功页面时,用户会话自动注销

Payment.html文件

 {% extends 'shop/base.html' %}
 {% load static %}
 {% block title%}
  Paytm merchant payment page
 {% endblock %}

{% block content %}
{% csrf_token %}
<h1>Redirecting you to the merchant....</h1>
<h1>Please do not refresh your page....</h1>


<form action="https://securegw-stage.paytm.in/order/process"  
  method="post" 
  name="paytm">

 {{ form.as_p }}
{% for key, value in param_dict.items %}
<input type="hidden" name="{{key}}" value="{{value}}">
{% endfor %}
</form>
<script>
    document.paytm.submit()
</script>
 {% endblock %}

paymentstatus.html文件

{% extends 'shop/base.html' %}
{% load static %}
{% block title%}Shoppy hub{% endblock %}
{% block content %}
{% csrf_token %}
<div class="container">

<div class="col my-4">

    <h1>Payment status regarding your order Id : {{response.ORDERID}}</h1>
    {% if response.RESPCODE == '01' %}
    <h3>Amount paid:{{response.TXNAMOUNT}} </h3>
    <h3><img style="height:50px;"src="/static/img/success.png" >Your order 
    has been received successfully</h3 >

    <h3>Thank you for your purchase! </h3>
    {% else %}
    <h2> <img style="height:50px;"src="/static/img/fail.jpg" >Your order 
    has been failed</h2 >
    {% endif%}

  </div>

  </div>
   {% endblock %}
   {% block js %}
   <script>


   </script>
   {% endblock %}

Checkout page(user logged in)

Payment page

Payment success page

会话问题可能是由于从(Django本地服务器)重定向到Paytm支付门户,但在支付门户(产品价格和用户名)中,已在集成测试支付页面中成功转发,但在支付成功完成并重定向到支付成功页面(本地服务器)后。此时,用户将自动注销,尽管成功页面上正确显示了金额

所以请帮我维护会话,同时重定向到另一个页面,然后重定向回本地服务器

设置.py

 INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'accounts.apps.AccountsConfig',
'cart.apps.CartConfig',
'shop.apps.ShopConfig',
'orders.apps.OrdersConfig',
'about.apps.AboutConfig',
'contact.apps.ContactConfig',
'search.apps.SearchConfig',
'offers.apps.OffersConfig',
 ]

 MIDDLEWARE = [
 'django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 ]

如何在响应头、响应头(登录后)中标识键/值:HTTP/1.1 200 OK 日期:2020年5月14日星期四05:21:02 GMT 服务器:WSGIServer/0.2 CPython/3.7.3 内容类型:text/html;字符集=utf-8 X-Frame-Options:SAMEORIGIN 内容长度:39759 变化:饼干 设置Cookie:sessionid=frnyglh4tzkp2fgqjv2p3acs2sut5to9;expires=周四,2020年5月28日05:21:02 GMT;HttpOnly;最大年龄=1209600;路径=/;SameSite=Lax

付款完成后:HTTP/1.1 200 OK 日期:2020年5月14日星期四05:30:06 GMT 服务器:WSGIServer/0.2 CPython/3.7.3 内容类型:text/html;字符集=utf-8 X-Frame-Options:SAMEORIGIN 变化:饼干 内容长度:3652 设置Cookie:csrftoken=19fodcypcyyuby2dhcnxkmn3zfjn9rufuoqivkbu4duzzcqnhrhl5matqtg9zndh;expires=2021年5月13日星期四05:30:05 GMT;最大年龄=31449600;路径=/;SameSite=Lax 设置Cookie:sessionid=G2CTXJJT8LLZ8D7KHDUB6AA3FVCXKCY;expires=周四,2020年5月28日05:30:05格林威治标准时间;HttpOnly;最大年龄=1209600;路径=/;SameSite=Lax


Tags: appsdjango服务器htmlpage页面paymentcontrib
1条回答
网友
1楼 · 发布于 2024-04-26 09:55:08

成功付款后重定向到成功页面时,请尝试使用 HttpResponseRedirect(“/success/”)而不是render(“…”)

我希望你的问题能得到解决

相关问题 更多 >