一つはGallery
と呼ばれ、私は以下のクラスは、そのテーブル上のすべてのオブジェクトを一覧表示する必要があります。Django:ListView。テンプレートに含める変数はどこで宣言できますか?私のアプリの私のテーブルの
from django.views.generic import ListView
from galleries.models import Gallery
class GalleryList(ListView):
template_name = "path/to/template"
context_object_name = "object_list"
def queryset(self):
return Gallery.objects.order_by('-title')[:20]
をそして、それは仕事をしていません。私のテンプレートでは次のようにします:
{% block gallery_list %}
<h1>Gallery List</h1>
<ul>
{% for gallery in object_list %}
<li><img src="{{ gallery.thumbnail.url }}" />{{ gallery.title }}</li>
{% endfor %}
</ul>
{% endblock %}
すべてが期待通りに動作します。ここにあるのは、base.html
テンプレートの場合、meta title
タグの場合は{% block title %}
、ヘッダーの場合はmeta description
タグの場合は{% block description %}
です。私はそれをどこかに宣言してそれをビューに渡すことができるようにしたい。明確にするために、変数title
とdescription
は文字列です(例:title="List of all galleries on website"
)。私は、変数title
とdescription
を宣言するためにどこかわからないクラスGalleryList
に、
{% extends "base.html" %}
{% block title %}{{ title }}{% endblock %}
{% block description %}{{ description|default:title }}{% endblock %}
しかし:私のような何かをしたいビューで
。私はそれがDjangoにとって可能であるか適切であるかどうかはわかりません。私は正しいことをしたい。私は私ができるすべてのギャラリーを一覧表示のための衣装テンプレートを持っているとしても、ちょうど行います
{% extends "base.html" %}
{% block title %}List of all galleries on website{% endblock %}
{% block description %}List of all galleries on website...{% endblock %}
しかし、それは十分にコード化されたDjangoアプリケーションのための適切だ場合、もう一度、私は知りません。私はDjangoの初心者です。私はこれについてどうなるのか知りたいと思います。私の質問が十分に明確であることを願っています。
この質問は広すぎますが、http://docs.djangoproject.com/en/1.9/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixinを読むことができます。最初に.get_context_data – Selcuk