Ich habe ein einfaches "Post"-Modell, das einen Eintrag für meinen Blog darstellt:
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})
Im Index meines Blogs möchte ich die Beiträge mit dieser Ansicht paginieren:
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})
Und hier ist das Problem, ich erhalte leere Urls, sobald ich die get_absolute_url-Methode für einen Beitrag mit devblog_index.html
Vorlage:
{% for post in post_list.object_list %}
<a href="stackoverflow.com/{{ post.get_absolute_url }}/">{{ post.title }}</a><br />
{% endfor %}
EDIT :
Hier ist meine urls.py für meine Anwendung:
from 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'
)
)
in der Hauptdatei urls.py, füge ich sie einfach als (r'^blog/', include('devblog.urls'))
Wo kann das Problem für diese leere Zeichenfolge url sein?
Mit freundlichen Grüßen