Tuairimí dáta cineálachaLink to this heading

Is tuairimí iad tuairimí cineálacha dáta-bhunaithe, a chuirtear ar fáil in:mod: django.views.generic.dates, chun leathanaigh druileála síos a thaispeáint le haghaidh sonraí dáta-bhunaithe.

ArchiveIndexViewLink to this heading

class ArchiveIndexViewLink to this definition

Leathanach innéacs barrleibhéil a thaispeánann na rudaí “is déanaí”, de réir dáta. Ní chuirtear rudaí le dáta san todhchaí san áireamh mura socraíonn tú allow_future go True.

**Sinsear (MRO) **

Comhthéacs

Chomh maith leis an gcomhthéacs a sholáthraí:class: Django.Views.Generic.List.MultipleObjectMixin (via:class: Django.Views.Generic.DateListView), beidh comhthéacs an teimpléid ná:

  • date_list: A:Meth: QuerySet `réad ina bhfuil gach bli <django.db.models.query.QuerySet.dates>ain a bhfuil rudaí ar fáil de réir ``queryset`, a léirítear mar: class: datetime.datetime rudaí, in ord íslitheach.

Nótaí

  • Úsáideann sé réamhshocraithe context_object_name de latest.

  • Úsáideann sé réamhshocraithe template_name_suffix de _archive.

  • Réamhshocraithe chun date_list` a sholáthar de réir bliana, ach is féidir é seo a athrú go mí nó go lá ag baint úsáide as an tréith date_list_period. Baineann sé seo freisin le tuairimí fo-aicme go léir.

Sampla myapp/urls.py:

Code
from django.urls import path
from django.views.generic.dates import ArchiveIndexView

from myapp.models import Article

urlpatterns = [
    path(
        "archive/",
        ArchiveIndexView.as_view(model=Article, date_field="pub_date"),
        name="article_archive",
    ),
]

Sampla myapp/article_archive.html:

Django template
<ul>
    {% for article in latest %}
        <li>{{ article.pub_date }}: {{ article.title }}</li>
    {% endfor %}
</ul>

Aschuirfidh sé seo gach alt.

``EarthArchiveView ``Link to this heading

class YearArchiveViewLink to this definition

Leathanach cartlainne bliantúil a thaispeánann gach míonna atá ar fáil i mbliain áirithe. Ní thaispeántar rudaí le dáta san todhchaí mura socraíonn tú allow_future go True`.

**Sinsear (MRO) **

make_object_listLink to this definition

Boolean a shonraíonn an liosta iomlán rudaí a aisghabháil don bhliain seo agus iad sin a chur chuig an teimpléad. Má tá “Fíor”, cuirfear liosta na rudaí ar fáil don chomhthéacs. Má tá False, úsáidfear an tacar ceisteanna None mar liosta na rudaí. De réir réamhshocraithe, is é seo False.

get_make_object_list()Link to this definition

Faigh amach an gcuirfear liosta rudaí ar ais mar chuid den chomhthéacs. Tuairisceanna:attr: ~yearArchiveView.make_object_list de réir réamhshocraithe.

Comhthéacs

Chomh maith leis an gcomhthéacs a sholáthraí:class: Django.Views.Generic.List.MultipleObjectMixin (via:class: Django.Views.Generic.DateListView), beidh comhthéacs an teimpléid ná:

  • date_list: A:Meth: QuerySet `réad ina bhfuil gach mí <django.db.models.query.QuerySet.dates>onna a bhfuil rudaí ar fáil de réir ``queryset`, a léirítear mar: class: datetime.datetime rudaí, in ord ardaitheach.

  • ``bliain ``: A: Class: ~datetime.date réad a léiríonn an bhliain ar leith.

  • next_year: a: Class: ~datetime.date réad a léiríonn an chéad lá den bhliain seo chugainn, de réir: attr: ~BasedaTelistView.allow_empty agus:attr: ~Datemixin.allow_future.

  • ``roimh_bliain ``: A: Class: ~datetime.date réad a léiríonn an chéad lá den bhliain roimhe sin, de réir: attr: ~BasedaTelistView.allow_empty agus:attr: ~Datemixin.allow_future.

Nótaí

  • Úsáideann sé réamhshocraithe template_name_suffix de _archive_year.

Sampla myapp/views.py:

Code
from django.views.generic.dates import YearArchiveView

from myapp.models import Article


class ArticleYearArchiveView(YearArchiveView):
    queryset = Article.objects.all()
    date_field = "pub_date"
    make_object_list = True
    allow_future = True

Sampla myapp/urls.py:

Code
from django.urls import path

from myapp.views import ArticleYearArchiveView

urlpatterns = [
    path("<int:year>/", ArticleYearArchiveView.as_view(), name="article_year_archive"),
]

Sampla myapp/article_archive_year.html:

Django template
<ul>
    {% for date in date_list %}
        <li>{{ date|date }}</li>
    {% endfor %}
</ul>

<div>
    <h1>All Articles for {{ year|date:"Y" }}</h1>
    {% for obj in object_list %}
        <p>
            {{ obj.title }} - {{ obj.pub_date|date:"F j, Y" }}
        </p>
    {% endfor %}
</div>

``MonthArchiveView ``Link to this heading

class MonthArchiveViewLink to this definition

Leathanach cartlainne míosúil a thaispeánann gach rud i mí ar leith. Ní thaispeántar rudaí le dáta san todhchaí mura socraíonn tú allow_future go True`.

**Sinsear (MRO) **

Comhthéacs

Chomh maith leis an gcomhthéacs a sholáthraí:class: ~Django.Views.Generic.List.MultipleObjectMixin (via:class: ~Django.Views.Generic.Dates.BasedaListView), beidh comhthéacs an teimpléid ná:

  • date_list: A:Meth: QuerySet `réad ina bhfuil gach <django.db.models.query.QuerySet.dates>lá a bhfuil rudaí ar fáil sa mhí ar leith, de réir ``queryset`, a léirítear mar: class: datetime.datetime rudaí, in ord ardaitheach.

  • Month: A: Class: ~datetime.date réad a léiríonn an mhí ar leith.

  • ``next_month ``: A: Class: ~datetime.date réad a léiríonn an chéad lá den mhí seo chugainn, de réir: attr: ~BasedaTelistView.allow_empty agus:attr: ~Datemixin.allow_future.

  • ``previous_month ``: A: Class: ~datetime.date réad a léiríonn an chéad lá den mhí roimhe sin, de réir: attr: ~BasedaTelistView.allow_empty agus:attr: ~Datemixin.allow_future.

Nótaí

  • Úsáideann sé réamhshocraithe template_name_suffix de ``_archive_month ``.

Sampla myapp/views.py:

Code
from django.views.generic.dates import MonthArchiveView

from myapp.models import Article


class ArticleMonthArchiveView(MonthArchiveView):
    queryset = Article.objects.all()
    date_field = "pub_date"
    allow_future = True

Sampla myapp/urls.py:

Code
from django.urls import path

from myapp.views import ArticleMonthArchiveView

urlpatterns = [
    # Example: /2012/08/
    path(
        "<int:year>/<int:month>/",
        ArticleMonthArchiveView.as_view(month_format="%m"),
        name="archive_month_numeric",
    ),
    # Example: /2012/aug/
    path(
        "<int:year>/<str:month>/",
        ArticleMonthArchiveView.as_view(),
        name="archive_month",
    ),
]

Sampla myapp/article_archive_month.html:

Django template
<ul>
    {% for article in object_list %}
        <li>{{ article.pub_date|date:"F j, Y" }}: {{ article.title }}</li>
    {% endfor %}
</ul>

<p>
    {% if previous_month %}
        Previous Month: {{ previous_month|date:"F Y" }}
    {% endif %}
    {% if next_month %}
        Next Month: {{ next_month|date:"F Y" }}
    {% endif %}
</p>

``WeekArchiveView ``Link to this heading

class WeekArchiveViewLink to this definition

Leathanach cartlainne seachtainiúil a thaispeánann gach rud i seachtain ar leith. Ní thaispeántar rudaí le dáta san todhchaí mura socraíonn tú allow_future go True`.

**Sinsear (MRO) **

Comhthéacs

Chomh maith leis an gcomhthéacs a sholáthraí:class: ~Django.Views.Generic.List.MultipleObjectMixin (via:class: ~Django.Views.Generic.Dates.BasedaListView), beidh comhthéacs an teimpléid ná:

  • ``seachtain`: A:Class: ~datetime.date réad a léiríonn an chéad lá den tseachtain ar leith.

  • ``next_week ``: A: Class: ~datetime.date réad a léiríonn an chéad lá den tseachtain seo chugainn, de réir: attr: ~BasedaTelistView.allow_empty agus:attr: ~Datemixin.allow_future.

  • seachtain_roimh: A: Class: ~datetime.date réad a léiríonn an chéad lá den tseachtain roimhe sin, de réir: attr: ~BasedaTelistView.allow_empty agus:attr: ~DateMixin.allow_future.

Nótaí

  • Úsáideann sé réamhshocraithe template_name_suffix de _archive_week.

  • Is é an tréith week_format:: func: ~time.strptime teaghrán formáid a úsáidtear chun uimhir na seachtaine a pháirseáil. Tacaítear leis na luachanna seo a leanas:

    • '%U': Bunaithe ar chóras seachtaine na Stát Aontaithe ina dtosaíonn an tseachtain Dé Domhnaigh. Is é seo an luach réamhshocraithe.

    • '%W': Cosúil le '%U', ach amháin glacann sé leis go dtosaíonn an tseachtain Dé Luain. Níl sé seo mar an gcéanna leis an uimhir seachtaine ISO 8601.

    • '%V': ISO 8601 uimhir seachtaine ina dtosaíonn an tseachtain Dé Luain.

Sampla myapp/views.py:

Code
from django.views.generic.dates import WeekArchiveView

from myapp.models import Article


class ArticleWeekArchiveView(WeekArchiveView):
    queryset = Article.objects.all()
    date_field = "pub_date"
    week_format = "%W"
    allow_future = True

Sampla myapp/urls.py:

Code
from django.urls import path

from myapp.views import ArticleWeekArchiveView

urlpatterns = [
    # Example: /2012/week/23/
    path(
        "<int:year>/week/<int:week>/",
        ArticleWeekArchiveView.as_view(),
        name="archive_week",
    ),
]

Sampla myapp/article_archive_week.html:

Django template
<h1>Week {{ week|date:'W' }}</h1>

<ul>
    {% for article in object_list %}
        <li>{{ article.pub_date|date:"F j, Y" }}: {{ article.title }}</li>
    {% endfor %}
</ul>

<p>
    {% if previous_week %}
        Previous Week: {{ previous_week|date:"W" }} of year {{ previous_week|date:"Y" }}
    {% endif %}
    {% if previous_week and next_week %}--{% endif %}
    {% if next_week %}
        Next week: {{ next_week|date:"W" }} of year {{ next_week|date:"Y" }}
    {% endif %}
</p>

Sa sampla seo, tá tú ag cur uimhir na seachtaine. Coinnigh i gcuimhne nach bhfuil uimhreacha seachtaine arna ríomh ag an scagaire teimpléad:tfilter: dáta leis an gcarachtar formáid 'W' mar an gcéanna i gcónaí leis na huimhreacha a ríomhaítear ar:func: ~time.strftime agus:func: ~time.strptime leis an teaghrán formáid '%W'`. Maidir le bliain 2015, mar shampla, uimhreacha seachtaine a aschuirtear ag: tfilter: `dáta` níos airde ceann amháin i gcomparáid leis na haschuir sin ag: func: `~time.strftime`. Níl coibhéis ann don teaghrán formáid `'%u':func: `~time.strftime in:tfilter: dáta. Dá bhrí sin, ba chóir duit: tfilter: dáta a sheachaint chun URLanna a ghiniúint do WeekArchiveView `.

DayArchiveViewLink to this heading

class DayArchiveViewLink to this definition

Leathanach cartlainne lae a thaispeánann gach rud i lá ar leith. Caitheann laethanta amach anseo earráid 404, is cuma an bhfuil aon rudaí ann do laethanta amach anseo, mura socraíonn tú allow_future go True`.

**Sinsear (MRO) **

Comhthéacs

Chomh maith leis an gcomhthéacs a sholáthraí:class: ~Django.Views.Generic.List.MultipleObjectMixin (via:class: ~Django.Views.Generic.Dates.BasedaListView), beidh comhthéacs an teimpléid ná:

  • day: A: Class: ~datetime.date réad a léiríonn an lá ar leith.

  • next_day: a: Class: ~datetime.date réad a léiríonn an lá dar gcionn, de réir: attr: ~basedaTelistView.allow_empty agus:attr: ~Datemixin.allow_future.

  • ``Preious_day ``: A: Class: ~datetime.date réad a léiríonn an lá roimhe sin, de réir: attr: ~basedaTelistView.allow_empty agus:attr: ~Datemixin.allow_future.

  • ``next_month ``: A: Class: ~datetime.date réad a léiríonn an chéad lá den mhí seo chugainn, de réir: attr: ~BasedaTelistView.allow_empty agus:attr: ~Datemixin.allow_future.

  • ``previous_month ``: A: Class: ~datetime.date réad a léiríonn an chéad lá den mhí roimhe sin, de réir: attr: ~BasedaTelistView.allow_empty agus:attr: ~Datemixin.allow_future.

Nótaí

  • Úsáideann sé réamhshocraithe template_name_suffix de _archive_day.

Sampla myapp/views.py:

Code
from django.views.generic.dates import DayArchiveView

from myapp.models import Article


class ArticleDayArchiveView(DayArchiveView):
    queryset = Article.objects.all()
    date_field = "pub_date"
    allow_future = True

Sampla myapp/urls.py:

Code
from django.urls import path

from myapp.views import ArticleDayArchiveView

urlpatterns = [
    # Example: /2012/nov/10/
    path(
        "<int:year>/<str:month>/<int:day>/",
        ArticleDayArchiveView.as_view(),
        name="archive_day",
    ),
]

Sampla myapp/article_archive_day.html:

Django template
<h1>{{ day }}</h1>

<ul>
    {% for article in object_list %}
        <li>{{ article.pub_date|date:"F j, Y" }}: {{ article.title }}</li>
    {% endfor %}
</ul>

<p>
    {% if previous_day %}
        Previous Day: {{ previous_day }}
    {% endif %}
    {% if previous_day and next_day %}--{% endif %}
    {% if next_day %}
        Next Day: {{ next_day }}
    {% endif %}
</p>

``TodayArchiveView ``Link to this heading

class TodayArchiveViewLink to this definition

Leathanach cartlainne lae a thaispeánann gach rud le haghaidh inneo. Tá sé seo díreach mar an gcéanna len:class: Django.Views.Generic.Dates.DayArchiveView, ach amháin go n-úsáidtear dáta an lae inniu in ionad na hargóintí bliant/mhí ````/lá `.

**Sinsear (MRO) **

Nótaí

  • Úsáideann sé réamhshocraithe template_name_suffix de _archive_today.

Sampla myapp/views.py:

Code
from django.views.generic.dates import TodayArchiveView

from myapp.models import Article


class ArticleTodayArchiveView(TodayArchiveView):
    queryset = Article.objects.all()
    date_field = "pub_date"
    allow_future = True

Sampla myapp/urls.py:

Code
from django.urls import path

from myapp.views import ArticleTodayArchiveView

urlpatterns = [
    path("today/", ArticleTodayArchiveView.as_view(), name="archive_today"),
]

DáteDetailviewLink to this heading

class DateDetailViewLink to this definition

Leathanach a léiríonn réad aonair. Má tá luach dáta ag an réad sa todhchaí, caithfidh an dearcadh earráid 404 de réir réamhshocraithe, mura socraíonn tú allow_future go True`.

**Sinsear (MRO) **

Comhthéacs

  • Cuimsíonn sé an réad aonair a bhaineann leis an samhail ``a shonraítear sa `DateDetailView.

Nótaí

  • Úsáideann sé réamhshocraithe template_name_suffix de _detail.

Sampla myapp/urls.py:

Code
from django.urls import path
from django.views.generic.dates import DateDetailView

urlpatterns = [
    path(
        "<int:year>/<str:month>/<int:day>/<int:pk>/",
        DateDetailView.as_view(model=Article, date_field="pub_date"),
        name="archive_date_detail",
    ),
]

Sampla myapp/article_detail.html:

Django template
<h1>{{ object.title }}</h1>