0
スーパーシンプルなゲームアプリ(質問に答え、ポイントを得る)を書いているので、すべての画面のサイドバーにハイスコアを表示したいページ。base.htmlでハイスコアをレンダリングする方法
だから私は(我々は(レンダリング使用している場合))Djangoは自動的に(ちょっと)の引数として認証されたユーザに渡すことを理解しますが、私は基本的にどうなるかを渡すするかどうかはわかりません。
top_list = User.objects.filter().order_by('-score')[:10]
ように、
たとえば、this oneのようなさまざまな質問を見て、ソリューションが独自のコンテキストプロセッサを作成することになるかどうかを考えましたか?
EDIT: はthisの重複も可能性がありますので、私はおそらく代わりに、カスタムテンプレートタグを記述する必要がありますか?
from django import template
register = template.Library()
@register.assignment_tag
def get_top_list():
top_list = User.objects.filter().order_by('-score')[:10]
return top_list
そして、あなたのテンプレートでそれを使用する:myapp/templatetags/
の下
myapp_tags.py
と
__init__.py
myapp_tags.py
での作成
ありがとう!私たちがcss/htmlでサイドバーを作る方法を学ぶとすぐに、実装がうまくいくかチェックします!しかし、それは固いソリューションのように聞こえる! :) – MrJalapeno