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



我正在与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 %}

结账页面(用户登录(

支付页面

支付成功页面

会话问题可能是由于从(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服务器:WSGIServer/0.2 CPython/3.7.3内容类型:text/html;charset=utf-8X-Frame-Options:SAMEORIGIN内容长度:39759Vary:Cookie设置Cookie:sessionid=frnyglh4tzkp2fgqjv2p3acs2ut5to9;expires=2020年5月28日星期四格林尼治标准时间05:21:02;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;charset=utf-8X-Frame-Options:SAMEORIGINVary:Cookie内容长度:3652设置Cookie:csrftoken=19FoDcypCYUBy2DHCnxkMn3Zfjn9RufoqiVKBu4duZxcqNhrHL5MAtqtg9ZNdh;到期=2021年5月13日星期四格林尼治标准时间05:30:5;最大年龄=31449600;路径=/;SameSite=Lax设置Cookie:sessionid=g2ctxjjt8llz8d7khdub6aa3fvcxxkcy;expires=2020年5月28日星期四格林尼治标准时间05:30:5;HttpOnly;最大年龄=1209600;路径=/;SameSite=Lax

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

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

最新更新