我想根据他们拥有的日期时间信息显示对象。我的模型看起来像这样:
models.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)
urls.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
对发送。但我似乎不明白的是,我如何reference
year
,month
,day
,reg_time
进入key: value
一对字典。我的意思是说,显然它不会识别year
是对的?那么从哪里可以获得参考?我听起来很困惑吗?我真的是。一些帮助清除它将非常感激。
更新
我有一件事意识到。 date
实际上将包含在request
内。因为用户要求URL
对吗?所以我可能需要从请求体中提取year
month
和day
的值。那怎么能这样做呢?
答案 0 :(得分: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