一旦登录成功,它会重定向到whmcs页面并显示成功消息,但它不显示用户的名字和姓氏,为什么?请帮助我
查看a.py
def login(request):
if request.method == 'POST':
email = request.POST['email']
password = request.POST['password']
api_url = 'https://www.chltech.net/manage/includes/api.php'
api_username = 'XMBoFf3A3RvUCQnsJaQEHjQefx9W5FWC'
api_password = '4yCdTGPvQWS2tnRFYS6CgIG7HMcmtLWZ'
api_action = 'validatelogin'
api_params = {
'username': api_username,
'password': api_password,
'action': api_action,
'responsetype': 'json',
'email': email,
'password2': password,
}
response = requests.post(api_url, data=api_params)
if response.status_code == 200:
data = response.json()
if data['result'] == 'success':
user_first_name = data.get('firstname', '')
user_last_name = data.get('lastname', '')
request.session['user_first_name'] = user_first_name #
request.session['user_last_name'] = user_last_name
print(user_first_name,user_last_name)
messages.success(request , "login successful")
return redirect('whmcs')
else:
messages.error(request, "Invalid email or password.")
else:
messages.error(request, f"Login failed: HTTP Error {response.status_code}")
form = CustomAuthenticationForm()
return render(request, 'login.html', {'form': form})
def whmcs(request):
user_first_name = request.session.get('user_first_name', '')
user_last_name = request.session.get('user_last_name', '')
return render(request, 'whmcs.html', {'user_first_name': user_first_name, 'user_last_name':
user_last_name})
whmcs.html
<!DOCTYPE html>
<html>
<head>
<title>Client Emails</title>
</head>
<body>
{% block content %}
<h1>Welcome, {{ user_first_name }} {{ user_last_name }}</h1>
{% if messages %}
{% for message in messages %}
{% if message.tags == 'error' %}
<div class="alter alter-danger">
{{message}}
</div>
{% else %}
<div class="alert alter-{{ message.tag }}">
{{message}}
</div>
{%endif%}
{%endfor%}
{%endif%}
{% endblock %}
</body>
</html>
我尝试创建一个新文件并进行测试,但得到了相同的结果,是因为我正在使用 whmcs api 吗? 在下一页中,我想获取所有用户数据并显示在网页中。
Django 模板不够智能,无法知道你的意思。,而不告诉它们变量来自哪里。
尝试
<h1>Welcome, {{ request.session.user_first_name }} {{ request.session.user_last_name }}</h1>