2017-07-28 6 views
1

DjangoとPythonを使用してログインした後にURLクエリ文字列にセッションIDを渡す必要がありますが、私の場合はエラーが発生します。私は以下のコードを説明しています。DjangoとPythonを使用してURLクエリ文字列に値を渡すことができません

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です。これは私のログイン機能です。セッション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> 

私はこのようにしていますが、ここでは次のエラーが発生しています。

Exception Value:  
Could not parse the remainder: '["sess_id"]' from 'request.session["sess_id"]' 

ここで、ログイン後にセッションIDがすべてのページURLに来る必要があります。

答えて

1

変更

{{request.session["sess_id"]}}

djangoはこのように動作します。ここでは、変数名にドットがテンプレートシステムが変数名にドットが発生したlookup.Whenを意味し、それがこの順に、以下の検索をしようとします:

Dictionary lookup. Example: request.session["bar"] 
Attribute lookup. Example: request.session.bar 
List-index lookup. Example: request.session[bar] 

あなたは見つけることができ、よりdocs

+1

でその働いている。ありがとうございました。 – satya

0

あなたは、それは読んで(引用符を気に)する必要があり、テンプレート内のエラーを持っている:通常

{{ request.session.sess_id }} 

のテンプレート言語へ

<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> 
関連する問題