-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathurls.py
More file actions
70 lines (62 loc) · 2.07 KB
/
urls.py
File metadata and controls
70 lines (62 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
from blog.models import Post
from django.conf import settings
from django.conf.urls import patterns, url
from django.conf.urls.static import static
from django.http import HttpResponse
from django.contrib.sitemaps.views import sitemap
from django.contrib.sites.models import Site
from blog.sitemap import PostSitemap, FlatpageSitemap
from blog.views import (
PostsFeed,
get_search_results,
IndexListView,
PostDetailView,
responsive_flatpage,
)
# Define sitemaps
sitemaps = {"posts": PostSitemap, "pages": FlatpageSitemap}
# Define robots.txt content
current_site = Site.objects.get_current()
robots_content = "User-agent: *\nDisallow: /admin/\nSitemap: https://{}/sitemap.xml".format(
current_site.domain
)
# Define pages
urlpatterns = patterns(
"",
# Index
url(r"^(?P<page>\d+)?/?$", IndexListView.as_view(), name="index",),
# Individual posts
url(
r"^blog/(?P<pub_date__year>\d{4})/(?P<slug>[a-zA-Z0-9-]+)/?$",
PostDetailView.as_view(),
name="post",
),
# Post RSS feed
url(r"^feed/posts/$", PostsFeed()),
# Search posts
url(r"^search", get_search_results, name="search"),
# robots.txt
url(
r"^robots.txt$",
lambda r: HttpResponse(robots_content, content_type="text/plain"),
),
# sitemap
url(
r"^sitemap\.xml$",
sitemap,
{"sitemaps": sitemaps},
name="django.contrib.sitemaps.views.sitemap",
),
)
# Add flat pages
urlpatterns += patterns(
"django.contrib.flatpages.views",
url(r"^about/$", responsive_flatpage, {"url": "/about/"}, name="about"),
url(r"^privacy/$", responsive_flatpage, {"url": "/privacy/"}, name="privacy"),
url(r"^quiz/$", responsive_flatpage, {"url": "/quiz/"}, name="quiz"),
url(r"^thank-you-optin/$", responsive_flatpage, {"url": "/thank-you-optin/"}, name="thank-you-optin"),
url(r"^thank-you-newsletter/$", responsive_flatpage, {"url": "/thank-you-newsletter/"}, name="thank-you-newsletter"),
)
# Debug
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)