나는 년/월 기반 블로그 아카이브를 만들려면 tutorial here을 따르려고합니다. 'www.example.com/blog/2013/feb'또는 'www.example.com/blog/2013'과 같은 URL을 방문하려고 할 때 위의 방법을 사용하여 TypeError: 'str' object is not callable
이 표시됩니다.블로그 아카이브 Django
사용 된 방법이 위의 튜토리얼에서 사용 된 것과 같은지 정말로 신경 쓰지 않습니다. 사용자가 'example.com/blog/2013/'을 방문하면 아카이브가 작동하도록하고 싶습니다. 목록을 제공합니다.
전망 :
from django.views.generic import date_based
def post_archive_year(request, year):
return date_based.archive_year(
request,
year=year,
date_field='date',
queryset=Blog.objects.date(),
)
def post_archive_month(request, year, month):
return date_based.archive_month(
request,
year=year,
month=month,
date_field='date',
queryset=Blog.objects.date(),
)
모델 :
class Blog(models.Model):
name = models.CharField(max_length=50)
date = models.DateTimeField()
slug = models.SlugField()
article = models.TextField()
tags = TaggableManager()
def __unicode__(self):
return self.name
@permalink
def get_absolute_url(self):
return ('blog_detail', None, {
'year': self.date.year,
'month': self.date.strftime('%b').lower(),
'slug': self.slug
})
URL을 :
을 여기에 2013 년에 만든 개체의 내가 지금까지 무엇을 가지고url(r'^blog/(?P<year>\d{4})/$', view='post_archive_year', name='post_archive_year'),
url(r'^blog/(?P<year>\d{4})/(?P<month>\w{3})/$', view='post_archive_month', name='post_archive_month'),
날짜 기반 보관 파일을 만드는 데 도움이되는 아이디어에 감사드립니다. 귀하의 의견에 감사드립니다.
'Blog.objects.date() '틀렸어. 너 여기서 뭘 하려니? 나는 당신이'Blog.objects.all()'또는 비슷한 것을 원한다고 생각한다. – mVChr
당신의 절대 url은 당신의 현재 url이 정의 된 year 값인 – catherine
인 @mVChr을 주셔서 감사하지만'Blog. objects.all()'도 같은 'TypeError'가됩니다. 'Blog.objects.date()'는 여기에 설명 된 패턴을 따르므로 (내 모델 필드를 '날짜'라고하고 게시자를 '게시'라고 부름) : http://www.quxisto.com/2012/mar/7/a-typical-date-based-archive/ –