Python django-1.4.3如何添加类别?单击类别时如何发布帖子?
我正在尝试向我的博客添加类别,我有如下的模型类。如果有什么不对劲,请告诉我。当用户单击类别时,如何显示帖子。先谢谢你 型号.pyPython django-1.4.3如何添加类别?单击类别时如何发布帖子?,python,django,django-models,Python,Django,Django Models,我正在尝试向我的博客添加类别,我有如下的模型类。如果有什么不对劲,请告诉我。当用户单击类别时,如何显示帖子。先谢谢你 型号.py class Posts(models.Model): category=models.ForeignKey('indianapp.Category') slug = models.SlugField(max_length=100, unique=True) def get_absolute_url(self):
class Posts(models.Model):
category=models.ForeignKey('indianapp.Category')
slug = models.SlugField(max_length=100, unique=True)
def get_absolute_url(self):
return ('blog_post_detail', (),{'slug':self.slug,})
def save(self,*args, **kwargs):
if not self.slug:
self.slug=sluggify(self.title)
super(Posts,self).save(*args,**kwargs)
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_by_category', None, { 'slug': self.slug })
视图.py
def view_category(request,slug):
catego=get_object_or_404(Category,slug=slug)
category=Category.objects.all()
posts = Posts.objects.all()
category_posts = []
for post in posts:
if post.category.filter(Posts,slug=slug):
category_posts.append(post)
category = Category.objects.filter(slug=slug)
pagedata.update({'post_list': category_posts})
return render_to_response('listpage.html',pagedata)
url(r'^blog/category/(?P<slug>[^\.]+)','indianapp.views.view_category',name='view_by_category'),
url.py
def view_category(request,slug):
catego=get_object_or_404(Category,slug=slug)
category=Category.objects.all()
posts = Posts.objects.all()
category_posts = []
for post in posts:
if post.category.filter(Posts,slug=slug):
category_posts.append(post)
category = Category.objects.filter(slug=slug)
pagedata.update({'post_list': category_posts})
return render_to_response('listpage.html',pagedata)
url(r'^blog/category/(?P<slug>[^\.]+)','indianapp.views.view_category',name='view_by_category'),
url(r'^blog/category/(?P[^\.]+),'indianapp.views.view_category',name='view_by_category'),
查看\u category.html
{% block title %}{{ category.title }}{% endblock %}
{% block content %}
{% if post_list %}
<ul>
{% for post in post_list %}
<li><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>There are no posts.</p>
{% endif %}
{% endblock %}
{%block title%}{{category.title}{%endblock%}
{%block content%}
{%if post_list%}
{post_list%}中的post为%
{%endfor%}
{%else%}
没有帖子
{%endif%}
{%endblock%}
您需要的是:
category\u posts=category.posts\u set.all()
或
category\u posts=posts.objects.filter(category=category)
我鼓励你们阅读Django教程