Форум сайта python.su
Здравствуйте. Я использую flatpage для создания блога. Хочу чтобы на странице было только определённое количество сообщений. Подскажите, пожалуйста, как можно это реализовать.
Заранее спасибо
Офлайн
http://docs.djangoproject.com/en/dev/topics/pagination/ , ты б хотя б код показал
Офлайн
> Подскажите, пожалуйста, как можно это реализовать.
Вот так:
posts = Post.objects.all()[:10]
Офлайн
slav0nic
models.py
import datetime
from django.db import models
from django.db.models import permalink
from django.contrib.auth.models import User
from django.contrib import admin
from markdown import markdown
VIEWABLE_STATUS=[3,4]
class ViewableManager(models.Manager):
def get_query_set(self):
default_queryset=super(ViewableManager,self).get_query_set()
return default_queryset.filter(status__in=VIEWABLE_STATUS)
class Category(models.Model):
label=models.CharField(blank=True,max_length=50)
slug=models.SlugField()
class Meta:
verbose_name_plural="categories"
def __unicode__(self):
return self.label
class Story(models.Model):
STATUS_CHOICES=(
(1,"Needs Edit"),
(2,"Needs Approval"),
(3,"Published"),
(4,"Archived"),
)
title=models.CharField(max_length=100)
slug=models.SlugField()
category=models.ForeignKey(Category)
markdown_content=models.TextField()
html_content=models.TextField(editable=False)
owner=models.ForeignKey(User)
status=models.IntegerField(choices=STATUS_CHOICES,default=1)
created=models.DateTimeField(default=datetime.datetime.now)
modified=models.DateTimeField(default=datetime.datetime.now)
class Meta:
ordering=['-modified']
verbose_name_plural="stories"
def save(self):
self.html_content=markdown(self.markdown_content)
self.modified=datetime.datetime.now()
super(Story,self).save()
admin_objects=models.Manager()
objects=ViewableManager()
@permalink
def get_absolute_url(self):
return ("cms-story",(),{'slug':self.slug})
class CategoryAdmin(admin.ModelAdmin):
prepopulated_fields={'slug':('label',)}
class StoryAdmin(admin.ModelAdmin):
list_display=('title','owner','status','created','modified')
search_fields=('title','content')
list_filter=('status','owner','created','modified')
prepopulated_fields={'slug':('title',)}
admin.site.register(Story,StoryAdmin)
admin.site.register(Category,CategoryAdmin)
from django.shortcuts import render_to_response, get_object_or_404
from django.db.models import Q
from Word.blog.models import Story, Category
from django.core.context_processors import csrf
def category(request, slug):
category = get_object_or_404(Category, slug=slug)
story_list = Story.objects.filter(category=category)
heading = "Tags: %s" % category.label
return render_to_response("blog/story_list.html", locals())
def search(request):
if 'q' in request.GET:
term = request.GET['q']
story_list = Story.objects.filter(Q(title__contains='first') | Q(markdown_content__contains=term))
heading = "Search results"
return render_to_response("blog/story_list.html", locals())
from django.conf.urls.defaults import *
from Word.blog.models import Story
info_dict={'queryset':Story.objects.all(),'template_object_name':'story'}
urlpatterns = patterns('django.views.generic.list_detail',
url(r'^(?P<slug>[-\w]+)/$', 'object_detail', info_dict, name="cms-story"),
url(r'^$', 'object_list', info_dict, name="cms-home"),
)
urlpatterns += patterns('Word.blog.views',
url(r'^category/(?P<slug>[-\w]+)/$', 'category', name="cms-category"),
url(r'^search/$', 'search', name="cms-search"),
)
Отредактировано (Март 29, 2011 11:43:55)
Офлайн
и чё?)
Офлайн