Added blog sitemap

This commit is contained in:
Sam Collins 2017-03-01 00:58:58 +00:00
parent 45c59f0707
commit 05d77e7c05
No known key found for this signature in database
GPG Key ID: 233C5943C800FE30
3 changed files with 30 additions and 2 deletions

View File

@ -28,7 +28,7 @@ DJANGO_APPS = (
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'whitenoise.runserver_nostatic',
'django.contrib.sitemaps',
'django.contrib.staticfiles',
'django.contrib.humanize',
'django.contrib.admin',
@ -41,6 +41,7 @@ THIRD_PARTY_APPS = (
'allauth.socialaccount.providers.google', # registration
'allauth.socialaccount.providers.github', # registration
'allauth.socialaccount.providers.facebook', # registration
'whitenoise.runserver_nostatic',
'stdimage',
'rest_framework',
'draceditor',

View File

@ -8,6 +8,7 @@ from django.contrib import admin
from django.views.generic import TemplateView
from django.views import defaults as default_views
from django.contrib.auth import views as auth_views
from django.contrib.sitemaps.views import sitemap
from rest_framework.routers import DefaultRouter
from mhackspace.contact.views import contact
@ -17,6 +18,7 @@ from mhackspace.base.feeds import LatestEntriesFeed
from mhackspace.blog.feeds import BlogFeed, BlogCategoryFeed
from mhackspace.base.views import markdown_uploader
from mhackspace.blog.views import blog, PostViewSet, CategoryViewSet
from mhackspace.blog.sitemaps import PostSitemap, CategorySitemap
from mhackspace.feeds.views import FeedViewSet, ArticleViewSet
router = DefaultRouter()
@ -25,6 +27,11 @@ router.register(r'categories', CategoryViewSet)
router.register(r'feeds', FeedViewSet)
router.register(r'articles', ArticleViewSet)
sitemaps = {
'posts': PostSitemap,
'category': CategorySitemap,
}
urlpatterns = [
url(r'^$', TemplateView.as_view(template_name='pages/home.html'), name='home'),
url(r'^about/$', TemplateView.as_view(template_name='pages/about.html'), name='about'),
@ -44,7 +51,8 @@ urlpatterns = [
url(r'^blog/(?P<slug>[0-9A-Za-z_\-]+)/$', blog, name='blog-item'),
url(r'^blog/category/(?P<category>[0-9A-Za-z_\-]+)/$', blog, name='blog-category'),
url(r'^blog/category/(?P<category>[0-9A-Za-z_\-]+)/rss/$', BlogCategoryFeed(), name='blog-category-feed'),
url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps},
name='django.contrib.sitemaps.views.sitemap'),
# need to be logged in for these urls
url(r'^members/$', MemberListView.as_view(), name='members'),

View File

@ -0,0 +1,19 @@
from django.contrib.sitemaps import Sitemap
from mhackspace.blog.models import Category, Post
class PostSitemap(Sitemap):
changefreq = "monthly"
priority = 0.5
def items(self):
return Post.objects.filter(active=True, members_only=False)
def lastmod(self, obj):
return obj.published_date
class CategorySitemap(Sitemap):
changefreq = "monthly"
priority = 0.7
def items(self):
return Category.objects.all()