2

我想根据他们拥有的日期时间信息显示对象。我的模型如下所示:

模型.py

class Person(models.Model):
    name = models.CharField(max_length=50)

class Registration(models.Model):
    name = models.ForeignKey(Person)
    reg_id = models.IntegerField()
    reg_date = models.DateTimeField(db_index=True)
    reg_type = models.CharField(max_length=50)
    description = models.CharField(max_length-200)

网址.py

from app.models import Registration
from dajngo.views.generic.date_based import archive_day

queryset = registration.objects.all()


urlpatterns = patterns('',
    url(r'^$', 'ui.views.index'),
    url(r'^registrations/(?P<person_name>)\w+)/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$', archive_day, {'year': year, 'month': month, 'day': day, 'queryset': queryset, 'date_field': reg_date})
)

)

我的意图:

我想在某一天以一个人的名义显示所有注册。是的,一个人可以拥有多个注册。

我知道我错了:

我阅读了文档,但对于像我这样的新手来说并不是很方便。虽然我发现它们是这些必需参数和一些需要key: value成对发送的可选参数。但我似乎不明白的是,我怎样才能referenceyear, month, day,reg_time放入key: value字典对。我的意思是说,它显然不会识别什么year是对的?那么从哪里可以得到参考呢?我听起来很困惑吗?我真的是。在清除它的一些帮助将不胜感激。

更新:

我意识到一件事。date真的会被包裹在里面request。因为用户会请求那个URL权利吗?所以可能我需要从请求正文中提取值。year month那么day如何做到这一点呢?

4

1 回答 1

0

好吧,这取决于,如果它是 CBV,那么:

self.kwargs['year']

如果是视图函数,那么:

def my_view(request, year, month, day):
    ...

https://docs.djangoproject.com/en/1.5/topics/http/urls/#notes-on-capturing-text-in-urls

于 2013-08-03T22:47:10.023 回答