2016-08-23 15 views
0

今日の仕事は、PersonalとPensionarの今日の誕生日を1つのテンプレートに表示し、明日の誕生日の大文字小文字を表示するためのハイパーリンクを持つことです。Django DateFieldの増分

もちろん、昨日のオプションは明日の反対です。

現在の日付の場合は完璧に動作しますが、日付変数を増やして表示する方法はわかりません。

model.py

class Personal(models.Model): 
    nume = models.CharField(max_length=40) 
    prenume = models.CharField(max_length=40) 
    dataNastere = models.DateField(blank=True, null=True) 

    def __str__(self): 
     return self.nume 

class Pensionar(models.Model): 
    nume = models.CharField(max_length=40) 
    prenume = models.CharField(max_length=40) 
    dataNastere = models.DateField(blank=True, null=True) 

    def __str__(self): 
     return self.nume 

url.py

from django.conf.urls import include, url 
from . import views 

urlpatterns = [ 
    url(r'^$', views.index, name='index'), 
    url(r'^omagiatulZilei/$', views.omagiatulZilei_list, name='omagiatulZilei_list'), 
    url(r'^omagiatulZilei_next/$', views.nextDate, name='nextDate'), 

]

views.py

def omagiatulZilei_list(request): 
    today = timezone.now().date() 
    personals = Personal.objects.order_by('nume').filter(
     dataNastere__month=today.month, 
     dataNastere__day=today.day) 

    pensionars = Pensionar.objects.order_by('nume').filter(
     dataNastere__month=today.month, 
     dataNastere__day=today.day) 

    context = {'personals' : personals, 'pensionars' : pensionars} 
    return render(request, 'blog/omagiatulZilei_list.html', context=context) 

def nextDate(request, ??): # ?? is a datefield variable 
    nextD = ?? + 1   # increment by 1 (the meaning is next day) 

    personals = Personal.objects.order_by('nume').filter(
     dataNastere__month=nextD.month, 
     dataNastere__day=nextD.day) 

    pensionars = Pensionar.objects.order_by('nume').filter(
     dataNastere__month=nextD.month, 
     dataNastere__day=nextD.day) 

    context = {'personals' : personals, 'pensionars' : pensionars} 
    return render(request, 'blog/omagiatulZilei_list.html', context=context) 

omagiatulZilei_list.html

{% load staticfiles %} 

<html> 
    <head> 
     <title>Omagiatul Zilei</title> 
    </head> 
<body> 

<a href="{% url 'nextDate' %}">next date</a><br> 

{% for personal in personals %} 
    {{ personal.nume }} 
    {{ personal.prenume }}, 
    {{ personal.dataNastere }} <br> 
{% endfor %} 

{% for pensionar in pensionars %} 
    {{ pensionar.nume }} 
    {{ pensionar.prenume }}, 
    {{ pensionar.dataNastere }} <br> 
{% endfor %} 

</body> 
</html> 

正解をコードで教えてください。

答えて

1

このようなものはありますか?

today = timezone.now().date()    # gets today 
nextD = today + datetime.timedelta(days=1) # adds one day to today