Django和get_absolute_url

Hel*_*nar 5 django django-templates django-models

我有一个简单的"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})            
Run Code Online (Sandbox Code Playgroud)

在我的博客索引中,我想用这个视图对这些帖子进行分页:

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})
Run Code Online (Sandbox Code Playgroud)

现在问题是,一旦我用devblog_index.html模板调用get_absolute_url方法,我就会得到空白的网址:

{% for post in post_list.object_list %}
    <a href="/{{ post.get_absolute_url }}/">{{ post.title }}</a><br />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

编辑:

这是我的urls.py我的申请:

来自django.conf.urls.defaults import*

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'
    )
)
Run Code Online (Sandbox Code Playgroud)

在主urls.py,我简单地将其包含为 (r'^blog/', include('devblog.urls'))

这个空白字符串url的问题在哪里?

问候

sun*_*nn0 5

更改(?P<month>\w{1,2)(?P<month>\d{1,2}).