Django und get_absolute_url
Habe ich einfach "post" - Modell, das darstellt, einen Eintrag für meinen blog:
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})
In den index von meinem blog, ich will den Umbruch diese Beiträge mit diesem Blick:
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 nun das problem, ich bekomme leere urls einmal rufe ich die get_absolute_url Methode für einen post mit devblog_index.html
Vorlage:
{% for post in post_list.object_list %}
<a href="/{{ post.get_absolute_url }}/">{{ post.title }}</a><br />
{% endfor %}
EDIT:
Hier ist meine urls.py für meine Anwendung:
vom 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'
)
)
am main urls.py ich einfach als (r'^blog/', include('devblog.urls'))
Wo kann das problem sein für den leeren string url ?
Hinsichtlich
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern
(?P<month>\w{1,2)
zu(?P<month>\d{1,2})
.