首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django错误-位于/的TemplateSyntaxError无法分析余数:'['userType']‘from '['userType']’

Django错误-位于/的TemplateSyntaxError无法分析余数:'['userType']‘from '['userType']’
EN

Stack Overflow用户
提问于 2018-01-13 23:58:17
回答 1查看 192关注 0票数 3
代码语言:javascript
复制
 {% if 'is_logged_in' in request.session %} {% if request.session['userType'] == 0 %} {% include 'headersuccess.html' %} {% else %}dfgh {% endif %}

这是我的代码。我正在检查两个条件,但我得到了上面的错误。有没有人能帮我解决同样的问题?

我的views.py是

代码语言:javascript
复制
@csrf_exempt
def index(request):
    if('is_logged_in' in request.session):
        id = request.session['authToken'];
        return render(request,"index.html",{'uid':id});
    else:
        return render(request,"index.html",{});

Views.py(服务器)

这是我的服务器代码,在request.session中显示了userType

代码语言:javascript
复制
@csrf_exempt
def login_user(request):
    user = None
    try:
        #user = models.user.objects.get(Q(user_name=request.POST['key'])|Q(contact__email=request.POST['key']))#|Q(contact__phone=request.POST['key']))
        user = models.user.objects.get(Q(user_name=request.POST['key'])|Q(email=request.POST['key']))#|Q(contact__phone=request.POST['key']))

        pswd = pass_enc(request.POST['password'],user.token)

        if user.password == pswd:

            #create signed auth token
            data = {
                'uid' : user.uid,
                'userType' : user.userType,
                'is_agent' : user.is_agent,
                'is_new'   : user.is_new,
                'is_admin' : user.userType == 8,
                'created_at':time.time()
            }

            signedToken = create_crypt_header(data)

            session = None

            try:
                session = models.session.objects.get(user=user)
                session.activeSession += 1
                session.save()
            except Exception as e:
                session = models.session(
                    user=user,
                    activeSession=1
                )
                session.save()
            #handel weblogin

            ajax_token = create_crypt_header({'val':1,'at':time.time()})

            request.session['authToken'] = signedToken
            request.session['v'] = 1
            request.session['ajax_token'] = ajax_token
            request.session['is_logged_in'] = True

            return JsonResponse({'authentication' : True,'authToken':signedToken,"userType":user.userType,'session_mask':session.sessionId,'is_new':user.is_new})
        else:
            return JsonResponse({'authentication' : False})

    except Exception as e:
        return JsonResponse({'authentication': False})

这是我的代码。我正在检查两个条件,但我得到了上面的错误。有没有人能帮我解决同样的问题?

EN

回答 1

Stack Overflow用户

发布于 2018-01-13 23:59:34

在模板内部使用.request.session.userType通过键访问dict的元素。

此外,如果使用{% if 'is_logged_in' in request.session and request.session.userType == 0 %},则不需要两个。如果代码中有两个if块,则需要添加两个{% endif %}语句。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48241548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档