5 Stimmen

Django und get_absolute_url

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X