from django.conf.urls.defaults import url, patterns
from django.http import Http404, HttpResponse
from datetime import datetime
from django.conf.urls.defaults import url, patterns
from django.http import Http404, HttpResponse
from datetime import datetime
class BlogEntry(Entity, Titled):
blog = models.ForeignKey(Blog, related_name='entries')
author = models.ForeignKey(getattr(settings, 'PHILO_PERSON_MODULE', 'auth.User'), related_name='blogentries')
date = models.DateTimeField(default=datetime.now)
content = models.TextField()
class BlogEntry(Entity, Titled):
blog = models.ForeignKey(Blog, related_name='entries')
author = models.ForeignKey(getattr(settings, 'PHILO_PERSON_MODULE', 'auth.User'), related_name='blogentries')
date = models.DateTimeField(default=datetime.now)
content = models.TextField()
- excerpt = models.TextField()
- tags = models.ManyToManyField(Tag, related_name='blogentries')
+ excerpt = models.TextField(blank=True, null=True)
+ tags = models.ManyToManyField(Tag, related_name='blogentries', blank=True, null=True)
entry_archive_page = models.ForeignKey(Page, related_name='blog_entry_archive_related', null=True, blank=True)
tag_page = models.ForeignKey(Page, related_name='blog_tag_related')
tag_archive_page = models.ForeignKey(Page, related_name='blog_tag_archive_related', null=True, blank=True)
entry_archive_page = models.ForeignKey(Page, related_name='blog_entry_archive_related', null=True, blank=True)
tag_page = models.ForeignKey(Page, related_name='blog_tag_related')
tag_archive_page = models.ForeignKey(Page, related_name='blog_tag_archive_related', null=True, blank=True)
entry_permalink_style = models.CharField(max_length=1, choices=ENTRY_PERMALINK_STYLE_CHOICES)
entry_permalink_base = models.CharField(max_length=255, blank=False, default='entries')
tag_permalink_base = models.CharField(max_length=255, blank=False, default='tags')
entry_permalink_style = models.CharField(max_length=1, choices=ENTRY_PERMALINK_STYLE_CHOICES)
entry_permalink_base = models.CharField(max_length=255, blank=False, default='entries')
tag_permalink_base = models.CharField(max_length=255, blank=False, default='tags')
return base_patterns + entry_patterns
def index_view(self, request, node=None, extra_context=None):
return base_patterns + entry_patterns
def index_view(self, request, node=None, extra_context=None):
+ entries = self.blog.entries.all()
+ if self.entries_per_page:
+ paginated_page = paginate(request, entries, self.entries_per_page)
+ entries = paginated_page.object_list
+ else:
+ paginated_page = None
return self.index_page.render_to_response(node, request, extra_context=context)
def entry_view(self, request, slug, year=None, month=None, day=None, node=None, extra_context=None):
return self.index_page.render_to_response(node, request, extra_context=context)
def entry_view(self, request, slug, year=None, month=None, day=None, node=None, extra_context=None):
- context.update({'blog': self.blog, 'year': year, 'month': month, 'day': day, 'entries': entries})
+ context.update({'blog': self.blog, 'year': year, 'month': month, 'day': day, 'entries': entries, 'paginated_page': paginated_page})
return self.entry_archive_page.render_to_response(node, request, extra_context=context)
def tag_view(self, request, tag, node=None, extra_context=None):
return self.entry_archive_page.render_to_response(node, request, extra_context=context)
def tag_view(self, request, tag, node=None, extra_context=None):
- context.update({'blog': self.blog, 'tag': tag, 'entries': entries})
+ context.update({'blog': self.blog, 'tag': tag, 'entries': entries, 'paginated_page': paginated_page})
return self.tag_page.render_to_response(node, request, extra_context=context)
def tag_archive_view(self, request, node=None, extra_context=None):
return self.tag_page.render_to_response(node, request, extra_context=context)
def tag_archive_view(self, request, node=None, extra_context=None):
date = models.DateTimeField(default=datetime.now)
lede = models.TextField(null=True, blank=True)
full_text = models.TextField()
date = models.DateTimeField(default=datetime.now)
lede = models.TextField(null=True, blank=True)
full_text = models.TextField()
newsletter = models.ForeignKey(Newsletter, related_name='issues')
number = models.PositiveIntegerField()
articles = models.ManyToManyField(NewsletterArticle)
newsletter = models.ForeignKey(Newsletter, related_name='issues')
number = models.PositiveIntegerField()
articles = models.ManyToManyField(NewsletterArticle)