2011-01-22 48 views
4

我有簡單的「郵報」的模型,它代表了我的博客條目:Django和get_absolute_url

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法devblog_index.html模板:

{% 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的問題?

問候

回答

5

變化(?P<month>\w{1,2)(?P<month>\d{1,2})

相關問題