Форум сайта python.su
Доброго времени суток!
Я новичок в джанго, поэтому прошу строго не судить.
Использую версию джанго:
ria ~ $ django-admin.py --version
1.5.1
class BlogPost(models.Model): title = models.CharField(max_length = 150) slug = models.CharField( max_length = 120, unique=True ) category = models.ForeignKey('blog.Category', blank=True, null=True) def get_image(self): """Get upload_to path specific to this photo.""" return self.image.url def __unicode__(self): return '%s' % self.title @permalink def get_absolute_url(self): return ( 'view_post', None, { 'slug': self.slug, #'category' : self.category } ) class Category(models.Model): title = models.CharField(max_length=100, db_index=True) slug = models.SlugField(max_length=100, db_index=True) def __unicode__(self): return '%s' % self.title @permalink def get_absolute_url(self): return ('view_blog_category', None, { 'slug': self.slug })
def view_post(request, slug): return render_to_response('view_post.html', { 'post': get_object_or_404(BlogPost, slug=slug) })
{{post.title}} {{post.body|safe}}
url( #r'^news/(?P<category>\d+)/(?P<slug>[^\.]+).html', r'^news/(?P<slug>[^\.]+).html', #r'^(?P<category>\d+)/(?P<slug>[^\.]+)', 'blog.views.view_post', name='view_post' ),
Отредактировано Minuteman (Авг. 19, 2013 01:03:55)
Офлайн
Minuteman
Как видите, там я пытался впихнуть категорию разными способами, но не получалось.
Офлайн
inoks
что именно не получилось?
view_post параметр принимало?
url( r'^(?P<category>\d+)/(?P<slug>[^\.]+).html', #вот тут я так понимаю мне слаг нужен но как его взять? 'blog.views.view_post', name='view_post' ),
@permalink def get_absolute_url(self): return ( 'view_post', None, { 'slug': self.slug, ###################### 'category' : self.category #здесь сомнительно } )
def view_post(request, slug, category): # здесь тоже category нужен? return render_to_response('view_post.html', { 'post': get_object_or_404(BlogPost, slug=slug) })
Отредактировано Minuteman (Авг. 20, 2013 01:16:40)
Офлайн
Как то так:
urls.py
url(r'^(?P<category_slug>[^\.]+)/(?P<post_slug>[^\.]+).html', 'blog.views.view_post', name='view_post'),
views.py
def view_post(request, category_slug, post_slug):
models.py
@models.permalink def get_absolute_url(self): return ('view_post', (), { 'category_slug': self.category.slug, 'post_slug': self.slug, })
Офлайн