我有一个简单的"post“模型,它代表了我的博客的一个条目:
class Post(models.Model):
title = models.CharField('title', max_length=200)
slug = models.SlugField('slug', unique_for_date='creation_time')
creation_time = models.DateTimeField('creation time', auto_now_add=True)
content = models.TextField('content')
@permalink
def get_absolute_url(self):
return ('devblog_post_url', (), {
'year': self.creation_time.year,
'month': self.creation_time.month,
'day': self.creation_time.day,
'slug': self.slug}) 在我的博客索引中,我想用以下观点对这些帖子进行分页:
def index_view(request):
published_posts = Post.objects.all()
paginator = Paginator(published_posts, 10)
try:
page = int(request.GET.get('page', '1'))
except ValueError:
page = 1
try:
post_list = paginator.page(page)
except (EmptyPage, InvalidPage):
post_list = paginator.page(paginator.num_pages)
return render_to_response('devblog_index.html', {"post_list": post_list})现在,问题是,当我调用带有get_absolute_url模板的post的devblog_index.html方法时,就会得到空白urls:
{% for post in post_list.object_list %}
<a href="/{{ post.get_absolute_url }}/">{{ post.title }}</a><br />
{% endfor %}编辑:
下面是我的应用程序的urls.py:
从django.conf.urls.defaults进口*
urlpatterns = patterns('',
url(r'^$',
view='devblog.views.index_view',
name='devblog_index'
),
url(r'^(?P<year>\d{4})/(?P<month>\w{1,2)/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$',
view='devblog.views.post_view', name='devblog_post_url'
)
)在主urls.py中,我简单地将它包含为(r'^blog/', include('devblog.urls'))
这个空字符串url的问题在哪里?
问候
发布于 2011-01-22 13:50:59
将(?P<month>\w{1,2)更改为(?P<month>\d{1,2})。
https://stackoverflow.com/questions/4767475
复制相似问题