-1

ユーザーのログインに基づいて、テンプレートに別のボタンを表示する必要があります。シナリオは、テンプレートがフォローボタンを表示することです:

Check whether the user logged in or not-
  if user logged in-
   check which channel he follwed:
     if he followed any channel 
       beside that channel name show "followed" button
     else
       show "follow" button with the path follow_save 
  elif user not logged in:
     show follow button with the path follow_save

どうすればいいですか?これはビューまたはテンプレートのタスクですか? どうやってするか?あなたの専門家からの助けは私を救います..また、セッションからuser_idを取得したいと考えていました。これが私のviews.pyです

e= EventArchiveGallery.objects.all()   
user = request.session['user_id']
if user:
    j = EventArchiveGallery()
    joining_list = j.joiningList(user)         

return render_to_response('gallery/allevents.html',
{
    'joining_list':joining_list,
},
context_instance=RequestContext(request)                         
) 

これは私のテンプレートです:

{% for event in live %}
    <p>Event Title:{{event.event_title}}<p/>
    <p>Channel Name:{{event.channel_id.channel_title}}</p>
    <p>Event Description{{event.event_description}}</p>
    {% if event in joining_list %}
        <p>followed</p>
            {%else%}
                    <p>follow</p> #I have wanted to show follow_save function call from this button,when user clicked
            {endif%}
  {% endfor %}
4

1 に答える 1

0

とにかく、2つの質問に分割できれば、2つの質問をする方が良いでしょう...

  • ユーザーのログインに基づいてテンプレートに異なるボタンを表示する
    • より良い方法は、ビューに表示するものを特定し、コンテキスト パラメーターをテンプレートに渡すことです。この変数テンプレートに応じて、異なる HTML がレンダリングされます。

テンプレートの例 : ビューがfollowed_channelパラメーターを渡すと仮定します。

{% if user.is_authenticated %}
    {%if followed_channel %}
        {# render html you want #}
    {%else%}
        {# render another way #}
    {%endif%}
{%endif%}
  • また、セッションからuser_idを取得したかった

セッションから取得する前に、それを保存する必要があります。したがって、ビューを次のように更新できます

e= EventArchiveGallery.objects.all()   
user = request.session.get('user_id')
if not user:
     request.session['user_id'] = request.user.id
if user:
    j = EventArchiveGallery()
    joining_list = j.joiningList(user)         

return render_to_response('gallery/allevents.html',
{
    'joining_list':joining_list,
},
context_instance=RequestContext(request)                         
) 
于 2012-09-12T09:54:37.553 に答える