예제 #1
0
 def test_generic_sitemap_attributes(self):
     datetime_value = datetime.now()
     queryset = TestModel.objects.all()
     generic_sitemap = GenericSitemap(
         info_dict={
             'queryset': queryset,
             'date_field': datetime_value,
         },
         priority=0.6,
         changefreq='monthly',
         protocol='https',
     )
     attr_values = (
         ('date_field', datetime_value),
         ('priority', 0.6),
         ('changefreq', 'monthly'),
         ('protocol', 'https'),
     )
     for attr_name, expected_value in attr_values:
         with self.subTest(attr_name=attr_name):
             self.assertEqual(getattr(generic_sitemap, attr_name),
                              expected_value)
     self.assertCountEqual(generic_sitemap.queryset, queryset)
예제 #2
0
import django.views
import django.contrib.auth.urls
from django.contrib.sitemaps.views import sitemap as s
from news import views
from django.contrib.sitemaps import GenericSitemap
from news.models import news
from django.views.decorators.cache import cache_page
from django.contrib.sitemaps import views as v
from django.views import static as ds

info_dict = {
    'queryset': news.objects.all(),
    'date_field': 'date',
}

sitemap = {'news': GenericSitemap(info_dict, priority=0.6, changefreq='daily')}
urlpatterns = [
    path('', include('news.urls')),
    path('admin/', admin.site.urls),
    path('mdeditor/', include('mdeditor.urls')),
    path('accounts/', include('django.contrib.auth.urls')),
    path('sitemap.xml/',
         s, {'sitemaps': sitemap},
         name='django.contrib.sitemaps.views.sitemap'),
    path('sitemap-<int:section>\.xml',
         v.sitemap, {'sitemaps': sitemap},
         name='django.contrib.sitemaps.views.sitemap'),
]
if settings.DEBUG:
    # static files (images, css, javascript, etc.)
    urlpatterns += static(settings.MEDIA_URL,
예제 #3
0
urlpatterns = [
    path('', include('django.contrib.auth.urls')),
    path('admin/', admin.site.urls),
    path('comptes/', include('accounts.urls')),
    path('', accueil, name='accueil'),
    path('nous_contacter/', ContactView.as_view(), name='contact'),
    path('', include('orgues.urls')),
    path('api-auth/', include('rest_framework.urls')),
    path('api/v1/', include(('project.api_urls', 'project'), namespace='api')),
    path('sitemap.xml',
         sitemap, {
             'sitemaps': {
                 'orgues':
                 GenericSitemap(
                     {
                         'queryset': Orgue.objects.all(),
                         'date_field': 'modified_date'
                     },
                     priority=0.6)
             }
         },
         name='django.contrib.sitemaps.views.sitemap'),
    path('lexique/',
         TemplateView.as_view(template_name='lexique.html'),
         name='lexique'),
    path('error/403/',
         TemplateView.as_view(template_name='403.html'),
         name='403'),
    path('error/404/',
         TemplateView.as_view(template_name='404.html'),
         name='404'),
    path('error/500/',
예제 #4
0
from publish import models, categorie
import settings

admin.autodiscover()

# Regex génériques #
urlbegin_re = '([-\w]+/){0,%d}' % categorie.PROFONDEUR_MAX

# Sitemap #
info_dict = {
    'queryset': models.Article.objects.filter(online=True),
    'date_field': 'date_parution',
}

sitemaps = {
    'blog': GenericSitemap(info_dict, priority=0.6),
}

urlpatterns = patterns('',
    # Index
    url(r'^$', direct_to_template, {'template': 'index.html', 'extra_context': {'edito' : models.Edito.objects.get_latest_publication()}}, name="index"),

    # Crawlers
    url(r'^sitemap.xml$',   sitemap, {'sitemaps': sitemaps}, name="sitemap"),
    url(r'^robots.txt$',    lambda _: HttpResponse('User-agent: *\nDisallow:\n', mimetype='text/plain')),
    #url(r'^favicon.ico$',   lambda _: HttpResponseRedirect('%scss/images/logo.png' % settings.MEDIA_URL)),

    # Admin
    (r'^admin/doc/', include('django.contrib.admindocs.urls')),
    (r'^admin/(.*)', admin.site.root),
예제 #5
0

info_dict = {
    'queryset': Post.objects.filter(published_date__lte=timezone.now(), private=False).order_by('-published_date'),
}

urlpatterns = [
    # My Apps
    path('', include('blog.urls')),
    path('pages/', include('pages.urls')),
    path('polls/', include('polls.urls')),
    path('todo/', include('todo.urls')),
    path('s/', include('shortener.urls')),


    # Django Admin
    path('admin/doc/', include('django.contrib.admindocs.urls')),
    path('admin/', admin.site.urls),

    # User management
    path('users/', include('users.urls')),
    path('accounts/', include('allauth.urls')),

    # Markdownx
    path(r'markdownx/', include('markdownx.urls')),

    path('sitemap.xml', sitemap,
         {'sitemaps': {'blog': GenericSitemap(info_dict, priority=0.6)}},
         name='django.contrib.sitemaps.views.sitemap'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
예제 #6
0
 path("__debug__/", include("debug_toolbar.urls")),
 path("administration/", admin.site.urls),
 path("", include("pages.urls")),
 path("search/", include("scrapers.urls")),
 path("tailored-vacancies/", include("resume_analyzer.urls")),
 path(
     "robots.txt",
     TemplateView.as_view(template_name="robots.txt",
                          content_type="text/plain")),
 path(
     "sitemap.xml",
     sitemap,
     {
         "sitemaps": {
             "static": StaticViewSitemap,
             "dynamic": GenericSitemap({"queryset": Job.objects.all()})
         }
     },
     name="django.contrib.sitemaps.views.sitemap",
 ),
 path("api/", include("api.urls")),
 path("api/token/", TokenObtainPairView.as_view(),
      name="token_obtain_pair"),
 path("api/token/refresh/",
      TokenRefreshView.as_view(),
      name="token_refresh"),
 path("api/token/verify/", TokenVerifyView.as_view(), name="token_verify"),
 # Swagger UI for DRF.
 path("api/schema/",
      SpectacularAPIView.as_view(api_version="v3"),
      name="schema"),
예제 #7
0
파일: urls.py 프로젝트: groundupnews/gu
    path('imagegallery/', include('gallery.urls')),
    path('', include('newsroom.urls')),
    path('', include('payment.urls')),
    path('', include('letters.urls')),
    path('', include('agony.urls')),
    path('', include('socialmedia.urls')),
    path('', include('target.urls')),
    path('', include('sudoku.urls')),
    path('', include('analyzer.urls')),
    path('', include('security.urls')),
    path('', include('allauth_2fa.urls')),
    path('accounts/', include('allauth.urls')),

    url(r'^sitemap\.xml$', sitemap,
         {'sitemaps':
         {'articles': GenericSitemap(article_dict,
                                      priority=0.5),
          'authors': GenericSitemap(author_dict,
                                    priority=0.5,
                                    changefreq='weekly'),
          'photos': GenericSitemap(photo_dict,
                                   priority=0.5),
          'flatpages': FlatPageSitemap}},
        name='django.contrib.sitemaps.views.sitemap'),
    path('cache/', include('clearcache.urls', namespace="cache")),
    url(r'^robots\.txt',
         TemplateView.as_view(template_name='robots.txt',
                              content_type='text/plain'),
         name='robots.txt'),
    url(r'^404testing',
        TemplateView.as_view(template_name='404.html'),
        name='test404'),
예제 #8
0
"""
Sitemap for person pages app.
"""
from django.contrib.sitemaps import GenericSitemap

from .models import PersonTag, TagGroup

TagGroup_Sitemap = GenericSitemap({"queryset": TagGroup.objects.active()})

PersonTag_Sitemap = GenericSitemap({"queryset": PersonTag.objects.active()})
예제 #9
0
from django.contrib.sitemaps import GenericSitemap, Sitemap
from django.urls import reverse

from meetups.models import Meetup


class ViewSitemap(Sitemap):
    url_names = [
        'misc:home',
        'meetups:meetup_list',
        'meetups:speaker_list',
        'meetups:sponsor_list',
    ]

    def items(self):
        return self.url_names

    def location(self, item):
        return reverse(item)


sitemaps = {
    'views': ViewSitemap(),
    'meetups': GenericSitemap(info_dict={'queryset': Meetup.objects.all()}),
}
예제 #10
0
파일: sitemap.py 프로젝트: TheCause/benbb96
produit_dict = {
    'queryset': Produit.objects.all(),
    'date_field': 'date_creation',
}

structure_dict = {
    'queryset': Structure.objects.all(),
    'date_field': 'date_creation',
}

palylist_dict = {
    'queryset': Playlist.objects.all(),
    'date_field': 'date_creation',
}

musique_dict = {
    'queryset': Musique.objects.all(),
    'date_field': 'date_creation',
}

sitemaps = {
    'sitemaps': {
        'static': StaticViewSitemap,
        'avis': GenericSitemap(avis_dict, priority=0.6),
        'produits': GenericSitemap(produit_dict, priority=0.4),
        'structures': GenericSitemap(structure_dict, priority=0.5),
        'playlists': GenericSitemap(palylist_dict, priority=0.5),
        'musiques': GenericSitemap(musique_dict, priority=0.4)
    }
}
예제 #11
0
post_dict = {
    'queryset': Post.objects.is_published(),
    'date_field': 'updated',
}

# project_dict = {
#     'queryset': Project.objects.is_published(),
#     'date_field': 'modified',
# }

sitemaps = {
    # 'link': GenericSitemap(link_dict, priority=0.5),
    # 'photo': GenericSitemap(photo_dict, priority=0.5),
    # 'video': GenericSitemap(video_dict, priority=0.5),
    'post': GenericSitemap(post_dict, priority=0.5),
    # 'project': GenericSitemap(project_dict, priority=0.5),
    'flatpages': FlatPageSitemap,
}

# sitemaps_photos = {
#     'photo': GenericSitemap(photo_dict, priority=0.5),
# }

# sitemaps_videos = {
#     'video': GenericSitemap(video_dict, priority=0.5),
# }

sitemaps_sections = {
    # 'link': GenericSitemap(link_dict, priority=0.5),
    'post': GenericSitemap(post_dict, priority=0.5),
예제 #12
0
from django.contrib.sitemaps import GenericSitemap
from resources.models import Resource, Topic

resource_dict = {
    'queryset': Resource.objects.filter(show=True),
    'date_field': 'updated_at',
}
topic_dict = {
    'queryset': Topic.objects.all(),
}

sitemaps = {
    'topic': GenericSitemap(topic_dict, priority=0.8),
    'resource': GenericSitemap(resource_dict, priority=0.6),
}
예제 #13
0
            ('/info/', '{0}/info.html'.format(settings.HTML_ROOT), 0.5),
            ]
    def location(self, item):
        return item[0]

    def lastmod(self, item):
        if item[1] is None:
            return None
        (mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(item[1])
        return datetime.datetime.fromtimestamp(mtime)

    def priority(self, item):
        return item[2]

sitemaps = {
    'ministri': GenericSitemap(ministr_dict, priority=0.8, changefreq='monthly'),
    'pages': PagesSitemap(),
}

urlpatterns = [
    url(r'^$', dluhy.views.index),
    url(r'^ministri/$', dluhy.views.ministri, name='ministri'),
    url(r'^info/$', dluhy.views.info, name='info'),
    url(r'^chart.js$', dluhy.views.chart),
    url(r'^ministri/(?P<slug>[^/]+)/$', dluhy.views.ministr, name='ministr'),

    # Sitemap
    url(r'^sitemap.xml$', django.contrib.sitemaps.views.index, {'sitemaps': sitemaps}),
    url(r'^sitemap-(?P<section>.+)\.xml$', django.contrib.sitemaps.views.sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),

    # Example:
예제 #14
0
from django.conf import settings
from django.conf.urls.static import static
from blog.feed import LatestEntriesFeed
from blog import views as blog_views
from django.contrib.sitemaps import GenericSitemap
from django.contrib.sitemaps.views import sitemap
from blog.models import Entry


info_dict = {
    'queryset': Entry.objects.all(),
    'date_field': 'modified_time'
}

urlpatterns = [
    re_path(r'^$', blog_views.index),
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls')),
    re_path(r'^login/$', blog_views.login),
    re_path(r'^logout/$', blog_views.logout),
    re_path(r'^latest/feed/$', LatestEntriesFeed()),
    path('comments/', include('django_comments.urls')),
    re_path(r'^sitemap\.xml$', sitemap, {'sitemaps': {'blog': GenericSitemap(info_dict, priority=0.6)}},
         name='django.contrib.sitemaps.views.sitemap'),

] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

handler403 = blog_views.permission_denied
handler404 = blog_views.page_not_found
handler500 = blog_views.page_error
예제 #15
0
class StaticSitemap(Sitemap):
    changefreq = 'weekly'
    priority = '0.8'

    def items(self):
        return ['/']

    def location(self, item):
        return item


sitemaps = {
    'static':
    StaticSitemap,
    'artigos':
    GenericSitemap(infodict_posts, priority=0.7, changefreq='weekly'),
    'categories':
    GenericSitemap(infodicts_categories, priority=0.5, changefreq='monthly')
}

urlpatterns = [
    path('', views.index, name='index'),
    path('artigos/', views.post_list, name='artigos'),
    path('artigo/<category>/<slug>/<pk>', views.post_details, name='artigo'),
    path('artigos/tag/<tag_name>', views.tag, name='post_by_tag'),
    path('categoria/<category_slug>',
         views.post_by_category,
         name='post_by_cat'),
    path('busca/', views.search, name='search'),
    path('contato/', views.contato, name='contato'),
    path('feed/', LatestEntriesFeed()),
예제 #16
0
from datetime import datetime
from django.conf.urls import patterns, url
from django.contrib.sitemaps import GenericSitemap
from blogango import feeds
from blogango.models import BlogEntry

blog_info_dict = {
    'queryset': BlogEntry.objects.all(),
    'date_field': 'publish_date',
}
sitemaps = {'blog': GenericSitemap(blog_info_dict, priority=0.5)}

urlpatterns = patterns(
    'blogango.views',
    url(r'^$', 'index', name="blogango_index"),
    url(r'^install/$', 'install_blog', name='blogango_install'),
    url(r'^page/(?P<page>\d+)/$', 'index', name='blogango_page'),
    url(r'^(?P<year>\d{4})/(?P<month>\d+)/(?P<slug>[-\w]+)/$',
        'details',
        name='blogango_details'),
    url(r'^blogroll/$', 'create_blogroll', name='blogango_blogroll'),
    url(r'^tag/(?P<tag_slug>[-\w]+)/$',
        'tag_details',
        name='blogango_tag_details'),
    url(r'^tag/(?P<tag_slug>[-\w]+)/(?P<page>\d+)/$',
        'tag_details',
        name='blogango_tag_details_page'),
    url(r'^author/(?P<username>[\w.@+-]+)/$',
        'author',
        name='blogango_author_page'),
    url(r'^admin/$', 'admin_dashboard', name='blogango_admin_dashboard'),
예제 #17
0
파일: urls.py 프로젝트: adilkhash/notion
blog_dict = {
    'queryset': Post.objects.filter(status=Post.PUBLISHED),
    'date_field': 'created',
}

page_dict = {
    'queryset': Page.objects.filter(visible=True),
    'date_field': 'created'
}

urlpatterns = [
    path('sitemap.xml',
         sitemap, {
             'sitemaps': {
                 'blog': GenericSitemap(
                     blog_dict, priority=1, protocol='https'),
                 'page': GenericSitemap(
                     page_dict, priority=0.5, protocol='https')
             }
         },
         name='django.contrib.sitemaps.views.sitemap'),
    path('redactor/', include('redactor.urls')),
    path('cpadmin/', admin.site.urls),
    path('subscribe/', SubscriptionView.as_view(), name='subscription'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += i18n_patterns(
    path('notes/', include('apps.notes.urls', namespace='notes')),
    path('', include('apps.blog.urls', namespace='blog')),
)
예제 #18
0
    priority = 0.9

    def items(self):
        '''
        Return list of existing project, langauge tuples.
        '''
        ret = []
        for project in Project.objects.all_acl(None):
            for lang in project.get_languages():
                ret.append((project, lang))
        return ret

    def location(self, item):
        from django.core.urlresolvers import reverse
        return reverse('engage-lang',
                       kwargs={
                           'project': item[0].slug,
                           'lang': item[1].code
                       })


sitemaps = {
    'project': GenericSitemap(project_dict, priority=0.8),
    'engage': EngageSitemap(project_dict, priority=1.0),
    'engagelang': EngageLangSitemap(),
    'subproject': GenericSitemap(subproject_dict, priority=0.6),
    'translation': GenericSitemap(translation_dict, priority=0.2),
    'user': GenericSitemap(user_dict, priority=0.1),
    'pages': PagesSitemap(),
}
예제 #19
0
from django.conf import settings

from board.models import Post

info_dict = {
    'queryset': Post.objects.active().filter(),
    'date_field': 'created_at',
}

urlpatterns = [
    path('admin', admin.site.urls),
    # SEO 용
    path('sitemap.xml',
         sitemap,
         {'sitemaps': {
             'board': GenericSitemap(info_dict, priority=0.6)
         }},
         name='django.contrib.sitemaps.views.sitemap'),
    path(
        'robots.txt', lambda x: HttpResponse(
            "User-Agent: *\nDisallow: /admin/\nDisallow: /account/\nAllow: /",
            content_type="text/plain")),
    path(
        'ads.txt', lambda x: HttpResponse(
            "google.com, pub-1987584597836949, DIRECT, f08c47fec0942fa0",
            content_type="text/plain")),
    path('notification', include('notification.urls')),
    path('', include('board.urls')),

    # 일반 로그인
    path('accounts/', include('accounts.urls')),
예제 #20
0
sitemaps_lastmod_ascending = OrderedDict([
    ('date', DateSiteMap),
    ('datetime', FixedLastmodSitemap),
    ('datetime-newer', FixedNewerLastmodSitemap),
])

sitemaps_lastmod_descending = OrderedDict([
    ('datetime-newer', FixedNewerLastmodSitemap),
    ('datetime', FixedLastmodSitemap),
    ('date', DateSiteMap),
])

generic_sitemaps = {
    'generic':
    GenericSitemap({'queryset': TestModel.objects.order_by('pk').all()}),
}

generic_sitemaps_lastmod = {
    'generic':
    GenericSitemap({
        'queryset': TestModel.objects.order_by('pk').all(),
        'date_field': 'lastmod',
    }),
}

urlpatterns = [
    path('simple/index.xml', views.index, {'sitemaps': simple_sitemaps}),
    path('simple-paged/index.xml', views.index,
         {'sitemaps': simple_sitemaps_paged}),
    path('simple-not-callable/index.xml', views.index,
예제 #21
0
         name='logout'),
    path('accounts/reset-password',
         auth_views.PasswordResetView.as_view(),
         name="password-reset"),
    path('accounts/reset-password-done',
         auth_views.PasswordResetDoneView.as_view(),
         name="password_reset_done"),
    path('accounts/reset-password-confirm/<uidb64>/<token>/',
         auth_views.PasswordResetConfirmView.as_view(),
         name='password_reset_confirm'),
    path('accounts/reset-password-complete',
         auth_views.PasswordResetCompleteView.as_view(),
         name='password_reset_complete'),
    path('sitemap.xml',
         sitemap, {
             'sitemaps': {
                 'home': IndexViewSitemap,
                 'pages': StaticViewSitemap,
                 'courses': GenericSitemap(
                     {"queryset": CourseCode.objects.all()})
             }
         },
         name='django.contrib.sitemaps.views.sitemap'),
    path('oauth/', include('social_django.urls', namespace='social')),
    path('', include('scheduler.urls')),
    path('api/', include('api.urls')),
    path('rest-api/', include('api.rest_api.urls', namespace='course_api')),
    path('schedules-rest-api/',
         include('scheduler.rest_api.urls', namespace='rest_api_scheduler')),
]
예제 #22
0
파일: urls.py 프로젝트: 1903760/myproject1
# а также по одноимённому полю в модели забирается дата последней модификации
sitemap_sections = {
    'queryset': knowledge_models.Section.objects.all(),
    'date_field': 'section_lastmod',
}

# А вот со статьями уже интереснее. Здесь забираются только те статьи, которые опубликованы
# И для этого нужно будет написать специальный менеджер
sitemap_articles = {
    'queryset': knowledge_models.Article.objects.article_status(),
    'date_field': 'article_date',
}

# Формируем объект со всеми картами и присваиваем им наименования
sitemaps = {
    'sections': GenericSitemap(sitemap_sections, priority=0.5),
    'articles': GenericSitemap(sitemap_articles, priority=0.5),
    'home': HomeSitemap
}


urlpatterns = [
    url(r'^', include('home.urls', namespace='home')),
    url(r'^news/', include('knowledge.urls', namespace='news')),
    url(r'^admin/', admin.site.urls),
]


# Шаблоны URL, заметьте, здесь указано кеширование cache_page(86400)
# Первый шаблон будет формировать основную карту сайта, в которой будут указаны URL дочерних,
# То есть 'sitemap-sections', 'sitemap-articles', 'sitemap-home'
예제 #23
0
from django.contrib.sitemaps import GenericSitemap
from django.contrib.auth.models import User
from okqa.qa.models import Question
from okqa.user.candidates import candidate_group

question_dict = {
    'queryset': Question.objects.all(),
    'date_field': 'updated_at',
}

candidate_dict = {
    'queryset': User.objects.filter(groups__in=[candidate_group]),
    'date_field': 'last_login',
}

sitemaps = {
    'questions':
    GenericSitemap(question_dict, priority=1, changefreq='hourly'),
    'candidates':
    GenericSitemap(candidate_dict, priority=0.6, changefreq='weekly'),
}
예제 #24
0
from photographer.models import Photographer
from guidebook.models import Guidebook
from accounts.models import CustomUser
from challenge.models import Challenge
from sequence.models import Sequence, Image
from tour.models import Tour
from rest_framework_mvt.views import mvt_view_factory
from django.contrib import admin as admin_tmp
from accounts import views as account_views
from . import views

sitemaps = {
    'static':
    StaticViewSitemap,
    'profile':
    GenericSitemap({'queryset': CustomUser.objects.filter(is_active=True)},
                   priority=0.9),
    'challenge':
    GenericSitemap({'queryset': Challenge.objects.filter(is_published=True)},
                   priority=0.9),
    'guidebook':
    GenericSitemap({'queryset': Guidebook.objects.filter(is_published=True)},
                   priority=0.9),
    'photographer':
    GenericSitemap(
        {'queryset': Photographer.objects.filter(is_published=True)},
        priority=0.9),
    'sequence':
    GenericSitemap({'queryset': Sequence.objects.filter(is_published=True)},
                   priority=0.9),
    'tour':
    GenericSitemap({'queryset': Tour.objects.filter(is_published=True)},
예제 #25
0
    priority = 1.0
    changefreq = 'daily'

    def items(self):
        return ['index-view', 'news-view']

    def location(self, item):
        return reverse(item)


sitemaps = {
    'article-is-top':
    GenericSitemap(
        {
            'queryset': Article.objects.filter(status=0, is_top=True).all(),
            'date_field': 'pub_time'
        },
        priority=1.0,
        changefreq='daily'),
    'article-is-not-top':
    GenericSitemap(
        {
            'queryset': Article.objects.filter(status=0).all(),
            'date_field': 'pub_time'
        },
        priority=0.8,
        changefreq='daily'),
    'news':
    GenericSitemap({
        'queryset': News.objects.all(),
        'data_field': 'pub_time'
예제 #26
0
"""Sitemaps for Tags and Startups"""
from django.contrib.sitemaps import GenericSitemap, Sitemap

from .models import Startup, Tag

TagSitemap = GenericSitemap({"queryset": Tag.objects.all()})


class StartupSitemap(Sitemap):
    """Sitemap for Startup pages"""

    def items(self):
        """All of our StartupSitemap

        Django uses get_absolute_url to generate links
        """
        return Startup.objects.all()

    def lastmod(self, startup):
        """Use Startup or Newslink to indicate when page was last modified"""
        if startup.newslink_set.exists():
            return startup.newslink_set.latest().pub_date
        else:
            return startup.founded_date
예제 #27
0
            return article.pubdate
        else:
            return article.update

    def location(self, article):
        return article.get_absolute_url_online()


sitemaps = {
    'tutos':
    TutoSitemap,
    'articles':
    ArticleSitemap,
    'categories':
    GenericSitemap({'queryset': Category.objects.all()},
                   changefreq='yearly',
                   priority=0.7),
    'forums':
    GenericSitemap(
        {
            'queryset':
            Forum.objects.filter(group__isnull=True).exclude(
                pk=settings.ZDS_APP['forum']['beta_forum_id'])
        },
        changefreq='yearly',
        priority=0.7),
    'topics':
    GenericSitemap(
        {
            'queryset':
            Topic.objects.filter(
예제 #28
0
from django.contrib.sitemaps import views as sitemaps_views
from django.views.decorators.cache import cache_page
from .models import Entry
from django.utils.functional import wraps

router = DefaultRouter()
router.register(r'user', UserViewSet)
#router.register(r'order', OrderViewSet)
# router.register(r'articles', ArticleViewSet)
#router.register(r'profile', ProfileViewSet)

sitemaps = {
    'codeideas':
    GenericSitemap(
        {
            'queryset': Entry.objects.get_queryset().order_by('id'),
            'date_field': 'pub_date'
        },
        priority=1.0),
}


def x_robots_tag(func):
    def inner(request, *args, **kwargs):
        responce = func(request, *args, **kwargs)
        responce['X-Robots-Tag'] = 'noodp, noarchive'
        return responce

    return wraps(func)(inner)


urlpatterns = [
예제 #29
0
from django.conf.urls import url, include
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.conf import settings
from django.urls import path
from django.contrib import admin
from article.views import SiteIndexView
from django.contrib.sitemaps.views import sitemap
from django.contrib.sitemaps import GenericSitemap
from article.models import Article

urlpatterns = [
    path('', SiteIndexView.as_view(), name='home'),
    path('admin/', admin.site.urls),
    path('ckeditor/', include('ckeditor_uploader.urls')),
    path('articles/', include('article.urls.view_urls', 'article')),
    path('api/', include('article.urls.api_urls')),
    path('user/', include('user.urls', 'user')),
    path('sitemap.xml',
         sitemap, {
             'sitemaps': {
                 'article':
                 GenericSitemap(dict(queryset=Article.objects.all(),
                                     date_field='pub_date'),
                                priority=0.6)
             }
         },
         name='django.contrib.sitemaps.views.sitemap'),
] + static('/uploads', document_root=settings.CKEDITOR_UPLOAD_PATH)
urlpatterns += staticfiles_urlpatterns()
예제 #30
0
    def items(self):
        return User.objects.filter(is_active=True).order_by('-date_joined')

    def location(self, item):
        return reverse('account_profile_detail',
                       kwargs={'username': item.username})


info_eureka = {
    'queryset':
    Eureka.objects.filter(is_published=True).order_by('-published'),
    'date_field': 'published',
}

info_concept = {
    'queryset': Concept.objects.all().order_by('-created'),
    'date_field': 'created',
}

sitemaps = {
    'static': StaticViewSitemap,
    'eureka': GenericSitemap(info_eureka, priority=0.8, changefreq='daily'),
    'concept': GenericSitemap(info_concept, priority=0.7, changefreq='daily'),
    'user': UserViewSitemap,
}

urlpatterns = [
    url(r'^sitemap\.xml$',
        sitemap, {'sitemaps': sitemaps},
        name='django.contrib.sitemaps.views.sitemap'),
]