无法使用Django和Python传递URL查询字符串中的值
在使用Django和Python登录后,我需要在URL查询字符串中传递会话id,但在我的例子中,我遇到了一些错误。我的代码如下无法使用Django和Python传递URL查询字符串中的值,python,django,Python,Django,在使用Django和Python登录后,我需要在URL查询字符串中传递会话id,但在我的例子中,我遇到了一些错误。我的代码如下 def loginsave(request): """This function helps to login the user """ if request.method == 'POST': password = request.POST.get('pass') uname = request.POST.get('u
def loginsave(request):
"""This function helps to login the user """
if request.method == 'POST':
password = request.POST.get('pass')
uname = request.POST.get('uname')
per = User.objects.all().filter(
Q(password__icontains=password) & Q(uname__icontains=uname)).count()
if per > 0:
user = User.objects.filter(
Q(password__icontains=password) & Q(uname__icontains=uname))
for use in user:
uid = use.id
user_name = use.uname
request.session['id'] = uid
request.session['sess'] = dict(dt=str(datetime.now()),
value='session')
request.session['sess_id'] = 'abcd1234'
return render(request, 'bookingservice/home.html',
{'count': per, 'username': user_name})
else:
return render(request, 'bookingservice/login.html', {})
这是我的登录功能,我在这里创建会话id,我需要通过URL传递它。我的菜单列表如下
<a href="{% url 'home' %}?token={{request.session["sess_id"]}}">Home</a>
<a href="{% url 'booking' %}">Add Booking</a>
<a href="{% url 'personal' %}">Add Personal Info</a>
这里我需要在登录后,会话id应该出现在每个页面URL上。如果模板中有错误,它应该是(注意引号):
更改
{{request.session[“sess_id”]}
到
django的模板语言通常是这样工作的。此处,变量名中的点表示查找。当模板系统遇到变量名中的点时,它会按以下顺序尝试查找:
Dictionary lookup. Example: request.session["bar"]
Attribute lookup. Example: request.session.bar
List-index lookup. Example: request.session[bar]
你可以在
<a href="{% url 'home' %}?token={{request.session['sess_id']}}">Home</a>
<a href="{% url 'booking' %}">Add Booking</a>
<a href="{% url 'personal' %}">Add Personal Info</a>
{{ request.session.sess_id }}
Dictionary lookup. Example: request.session["bar"]
Attribute lookup. Example: request.session.bar
List-index lookup. Example: request.session[bar]