2017-04-09 15 views
-4
def home(request): 
    context = populate_user_context(request, user.username) 

    val=amqp.consumer() 

    return render(request, "home.html", context, "Content-type:text/HTML", 200, None) 



def populate_user_context(request,username): 
    user = User.objects.get(username=username) 
    context={'first_name':(user.first_name or None), 
     'last_name':(user.last_name or None), 
     'email':(user.email or None) 
     } 
    return context 

関数homeが呼び出されたとき。コンテキストを構築し、コンシューマ関数を呼び出します。コンシューマ関数は辞書を返します。それが辞書を返す場合、私はそれが何も返されなくなるまでそれを再度呼び出すべきです(この部分はまだコード化されていません)。最後に、これをコンテキストに追加してhome.htmlにレンダリングする必要があります。辞書の辞書をPythonで構築する

各辞書は{'a':val1、 'b':val2}と似ています。私は戻ってくるかもしれない辞書がいくつあるのか知りません。辞書をコンテキストに追加してhome.htmlページにレンダリングする最良の方法は何ですか? これまでの質問は明確ではなかったので、私は編集しました。

+4

: val1、 "b":val2}} '* - これは辞書ではありません。 –

+0

@Ahsanul Haqueは正しく、辞書のセットです。より具体的にしてください –

+0

forループは何ですか?あなたが望むものはおそらく、辞書の**リスト**です[mcve] –

答えて

2

辞書の場合は、リストを作成したい場合を除いて、キーが見つからない場合があります(この場合、間違った括弧を使用しています)。

一覧:

x = [{"a": 1, "b": 2}, {"a": 3, "b": 4}] 

辞書:val1と、 "B":val2の}、{ "A" 私は `{{ "A" のような辞書を構築したい*

x= {"one": {"a": 1, "b": 2}, "two": {"a": 3,"b": 4}}