From: Brett Parker
Date: Thu, 22 Jun 2017 13:32:06 +0000 (+0100)
Subject: Fix up for django 1.10
X-Git-Url: https://git.sommitrealweird.co.uk/sommitrealweird.git/commitdiff_plain/4ad54bc9a9429a2c5c288192c663f75ae1e7aad9?hp=46647a368631f22e961dfe2fdf9bcc0b64b2d281
Fix up for django 1.10
---
diff --git a/.gitignore b/.gitignore
index bbb7c87..acbc6d8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
*.py[oc]
/sommitrealweird.db
/sommitrealweird/localsettings.py
+/media/admin
/media/photos
/media/thumbs
/tmp
diff --git a/sommitrealweird/blog/migrations/0001_initial.py b/sommitrealweird/blog/migrations/0001_initial.py
new file mode 100644
index 0000000..7f42c9e
--- /dev/null
+++ b/sommitrealweird/blog/migrations/0001_initial.py
@@ -0,0 +1,44 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2017-06-22 09:40
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='BlogEntry',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('title', models.CharField(max_length=150)),
+ ('islive', models.BooleanField(default=False)),
+ ('format', models.CharField(choices=[(b'rst', b'reStructuredText'), (b'html', b'HTML')], max_length=10)),
+ ('slug', models.SlugField()),
+ ('publish_date', models.DateTimeField()),
+ ('content', models.TextField()),
+ ],
+ options={
+ 'ordering': ['-publish_date'],
+ },
+ ),
+ migrations.CreateModel(
+ name='BlogSection',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('title', models.CharField(max_length=150)),
+ ('slug', models.SlugField()),
+ ],
+ ),
+ migrations.AddField(
+ model_name='blogentry',
+ name='sections',
+ field=models.ManyToManyField(to='blog.BlogSection'),
+ ),
+ ]
diff --git a/sommitrealweird/blog/migrations/__init__.py b/sommitrealweird/blog/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/sommitrealweird/blog/models.py b/sommitrealweird/blog/models.py
index fa2e954..9548a32 100644
--- a/sommitrealweird/blog/models.py
+++ b/sommitrealweird/blog/models.py
@@ -1,4 +1,3 @@
-from django.contrib.comments.moderation import CommentModerator, moderator
from django.db import models
from django.conf import settings
from django.contrib import admin
@@ -29,17 +28,6 @@ class BlogEntry(models.Model):
class Meta:
ordering = ['-publish_date']
-class BlogEntryCommentModerator(CommentModerator):
- email_notification = True
-
- def moderate(self, comment, content_object, request):
- if request.user.is_authenticated():
- return False
- else:
- return True
-
-moderator.register(BlogEntry, BlogEntryCommentModerator)
-
class BlogSection(models.Model):
title = models.CharField(max_length=150)
slug = models.SlugField()
diff --git a/sommitrealweird/blog/templates/blog/blog_index.html b/sommitrealweird/blog/templates/blog/blog_index.html
index 950e4cd..f2ede84 100644
--- a/sommitrealweird/blog/templates/blog/blog_index.html
+++ b/sommitrealweird/blog/templates/blog/blog_index.html
@@ -1,6 +1,5 @@
{% extends "base.html" %}
{% load xhtml11rst %}
-{% load comments %}
{% block extrahead %}
@@ -26,8 +25,7 @@
{% endif %}
{% endif %}
{% endfor %}
- {% get_comment_count for entry as comment_count %}
- | permalink | Comments: {{ comment_count }}
+ | permalink
{% endfor %}
{% if paginated and has_more_than_one_page %}
Pages:
diff --git a/sommitrealweird/blog/templates/blog/single_entry_rst.html b/sommitrealweird/blog/templates/blog/single_entry_rst.html
index 5dd4258..695df77 100644
--- a/sommitrealweird/blog/templates/blog/single_entry_rst.html
+++ b/sommitrealweird/blog/templates/blog/single_entry_rst.html
@@ -1,7 +1,6 @@
{% extends "base.html" %}
{% load xhtml11rst %}
-{% load comments %}
{%block title %}{{ entry.title }}{% endblock %}
@@ -25,22 +24,6 @@
{% endif %}
{% endfor %}
{% endif %}
- {% get_comment_count for entry as comment_count %}
- | permalink | Comments: {{ comment_count }}
+ | permalink
-{% if comment_count %}
-
-{% endif %}
-
{% endblock %}
diff --git a/sommitrealweird/blog/urls.py b/sommitrealweird/blog/urls.py
index 19678eb..eeeb25b 100644
--- a/sommitrealweird/blog/urls.py
+++ b/sommitrealweird/blog/urls.py
@@ -1,13 +1,14 @@
-from django.conf.urls import patterns
+from django.conf.urls import url
+import blog.views
from settings import MEDIA_ROOT, MEDIA_URL
-urlpatterns = patterns('',
- (r'^(?P[0-9]{4})/(?P[0-9]{2})/(?P[0-9]{2})/(?P[^/]+)(/|)$', 'blog.views.blog_view'),
- (r'^(?P[0-9]{4})(?P[0-9]{2})(?P[0-9]{2})-(?P[^/]+)\.html$', 'blog.views.blog_view'),
- (r'^(?P[0-9]{4})(?P[0-9]{2})(?P[0-9]{2})(?P[0-9]{2})(?P[0-9]{2})-(?P[^/]+)\.html$', 'blog.views.blog_view'),
- (r'^(?P[0-9]{4})/(?P[0-9]{2})/(?P[0-9]{2})/$', 'blog.views.blog_view'),
- (r'^(?P[0-9]{4})/(?P[0-9]{2})/$', 'blog.views.blog_view'),
- (r'^(?P[0-9]{4})/$', 'blog.views.blog_view'),
- (r'^section/(?P[^/]*)/$', 'blog.views.blog_index'),
- (r'^$', 'blog.views.blog_index'),
-)
+urlpatterns = [
+ url(r'^(?P[0-9]{4})/(?P[0-9]{2})/(?P[0-9]{2})/(?P[^/]+)(/|)$', blog.views.blog_view),
+ url(r'^(?P[0-9]{4})(?P[0-9]{2})(?P[0-9]{2})-(?P[^/]+)\.html$', blog.views.blog_view),
+ url(r'^(?P[0-9]{4})(?P[0-9]{2})(?P[0-9]{2})(?P[0-9]{2})(?P[0-9]{2})-(?P[^/]+)\.html$', blog.views.blog_view),
+ url(r'^(?P[0-9]{4})/(?P[0-9]{2})/(?P[0-9]{2})/$', blog.views.blog_view),
+ url(r'^(?P[0-9]{4})/(?P[0-9]{2})/$', blog.views.blog_view),
+ url(r'^(?P[0-9]{4})/$', blog.views.blog_view),
+ url(r'^section/(?P[^/]*)/$', blog.views.blog_index),
+ url(r'^$', blog.views.blog_index),
+]
diff --git a/sommitrealweird/blog/views.py b/sommitrealweird/blog/views.py
index 09ff5e4..52fab00 100644
--- a/sommitrealweird/blog/views.py
+++ b/sommitrealweird/blog/views.py
@@ -1,5 +1,6 @@
from blog.models import BlogEntry, BlogSection
from django.http import Http404, HttpResponse
+from django.shortcuts import render
from django.template import RequestContext, loader
from django.core.paginator import Paginator
from django.conf import settings
@@ -19,9 +20,7 @@ def blog_index(request, section=None):
try:
paginated_entries = paginator.page(page)
pages = paginator.page_range
- t = loader.get_template("blog/blog_index.html")
- c = RequestContext(request,
- {
+ c = {
"entries": paginated_entries.object_list,
"title": settings.BLOG_TITLE,
"page": page,
@@ -32,8 +31,8 @@ def blog_index(request, section=None):
"has_prev": paginated_entries.has_previous(),
"next": page + 1,
"prev": page - 1
- })
- return HttpResponse(t.render(c))
+ }
+ return render(request, 'blog/blog_index.html', c)
except:
raise Http404
else:
@@ -49,14 +48,11 @@ def blog_view(request, year=None, month=None, day=None, hour=None, minutes=None,
try:
blog_entry = BlogEntry.objects.get(publish_date__year=year, publish_date__month=month, publish_date__day=day, slug__exact=slug)
template_name = "blog/single_entry_%s.html" %(blog_entry.format,)
- t = loader.get_template(template_name)
- c = RequestContext(request,
- {
+ c = {
"entry": blog_entry,
"publish_date": blog_entry.publish_date
}
- )
- return HttpResponse(t.render(c))
+ return render(request, template_name, c)
except:
raise Http404
else:
@@ -84,9 +80,7 @@ def blog_view(request, year=None, month=None, day=None, hour=None, minutes=None,
try:
paginated_entries = paginator.page(page)
pages = paginator.page_range
- t = loader.get_template("blog/blog_index.html")
- c = RequestContext(request,
- {
+ c = {
"entries": paginated_entries.object_list,
"title": settings.BLOG_TITLE,
"page": page,
@@ -97,8 +91,8 @@ def blog_view(request, year=None, month=None, day=None, hour=None, minutes=None,
"has_prev": paginated_entries.has_previous(),
"next": page + 1,
"prev": page - 1
- })
- return HttpResponse(t.render(c))
+ }
+ return render(request, "blog/blog_index.html", c)
except:
raise Http404
else:
diff --git a/sommitrealweird/bpcms/migrations/0001_initial.py b/sommitrealweird/bpcms/migrations/0001_initial.py
new file mode 100644
index 0000000..0671562
--- /dev/null
+++ b/sommitrealweird/bpcms/migrations/0001_initial.py
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2017-06-22 09:39
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='CSSDocument',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('title', models.CharField(max_length=150)),
+ ('slug', models.SlugField()),
+ ('content', models.TextField()),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Document',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('title', models.CharField(max_length=150)),
+ ('islive', models.BooleanField(default=False)),
+ ('format', models.CharField(choices=[(b'rst', b'reStructuredText'), (b'html', b'HTML')], max_length=10)),
+ ('slug', models.SlugField()),
+ ('content', models.TextField()),
+ ('extracss', models.ManyToManyField(blank=True, null=True, to='bpcms.CSSDocument')),
+ ],
+ options={
+ 'ordering': ['folder'],
+ },
+ ),
+ migrations.CreateModel(
+ name='Folder',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('title', models.CharField(max_length=150)),
+ ('slug', models.SlugField()),
+ ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='bpcms.Folder')),
+ ],
+ ),
+ migrations.AddField(
+ model_name='document',
+ name='folder',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='bpcms.Folder'),
+ ),
+ ]
diff --git a/sommitrealweird/bpcms/migrations/__init__.py b/sommitrealweird/bpcms/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/sommitrealweird/bpcms/models.py b/sommitrealweird/bpcms/models.py
index 38f18ff..6493902 100644
--- a/sommitrealweird/bpcms/models.py
+++ b/sommitrealweird/bpcms/models.py
@@ -66,14 +66,14 @@ class Document(models.Model):
def get_absolute_url(self):
if self.slug == 'index':
if self.folder.parent:
- return reverse('bpcms.views.document_view', kwargs={'folders': self.folder.parent.get_path(), 'slug': self.folder.slug})
+ return reverse('bpcms-document-view', kwargs={'folders': self.folder.parent.get_path(), 'slug': self.folder.slug})
else:
- return reverse('bpcms.views.document_view', kwargs={'slug': self.folder.slug})
+ return reverse('bpcms-document-view', kwargs={'slug': self.folder.slug})
else:
if self.folder:
- return reverse('bpcms.views.document_view', kwargs={'folders': self.get_folder_path(), 'slug': self.slug})
+ return reverse('bpcms-document-view', kwargs={'folders': self.get_folder_path(), 'slug': self.slug})
else:
- return reverse('bpcms.views.document_view', kwargs={'slug': self.slug})
+ return reverse('bpcms-document-view', kwargs={'slug': self.slug})
class Folder(models.Model):
title = models.CharField(max_length=150)
@@ -106,6 +106,6 @@ class Folder(models.Model):
def get_absolute_url(self):
if self.parent:
- return reverse('bpcms.views.document_view', kwargs={'folders': self.parent.get_path(), 'slug': self.slug})
+ return reverse('bpcms-document-view', kwargs={'folders': self.parent.get_path(), 'slug': self.slug})
else:
- return reverse('bpcms.views.document_view', kwargs={'slug': self.slug})
+ return reverse('bpcms-document-view', kwargs={'slug': self.slug})
diff --git a/sommitrealweird/bpcms/urls.py b/sommitrealweird/bpcms/urls.py
index 2d24d30..1a9111f 100644
--- a/sommitrealweird/bpcms/urls.py
+++ b/sommitrealweird/bpcms/urls.py
@@ -1,9 +1,10 @@
-from django.conf.urls import patterns
+from django.conf.urls import url
+import bpcms.views
-urlpatterns = patterns('',
- (r'^$', 'bpcms.views.document_view', {'slug': 'index'}),
- (r'^css-docs/(?P[^/]+)$', 'bpcms.views.css_view'),
- (r'^(?P[^/]+)/$', 'bpcms.views.document_view'),
- (r'^(?P.*)/(?P[^/]+)/$', 'bpcms.views.document_view'),
-)
+urlpatterns = [
+ url(r'^$', bpcms.views.document_view, {'slug': 'index'}, name='bpcms-document-view'),
+ url(r'^css-docs/(?P[^/]+)$', bpcms.views.css_view),
+ url(r'^(?P[^/]+)/$', bpcms.views.document_view, name='bpcms-document-view'),
+ url(r'^(?P.*)/(?P[^/]+)/$', bpcms.views.document_view, name='bpcms-document-view'),
+]
diff --git a/sommitrealweird/bpcms/views.py b/sommitrealweird/bpcms/views.py
index 9cb3e42..0396bf8 100644
--- a/sommitrealweird/bpcms/views.py
+++ b/sommitrealweird/bpcms/views.py
@@ -1,5 +1,6 @@
from bpcms.models import CSSDocument, Document, Folder
-from django.http import Http404, HttpResponse
+from django.http import Http404
+from django.shortcuts import render
from django.template import RequestContext, loader
def document_view(request, slug=None, folders=None):
@@ -57,14 +58,12 @@ def document_view(request, slug=None, folders=None):
except:
raise Http404
template_name = "bpcms/%s.html" %(doc.format,)
- t = loader.get_template(template_name)
- c = RequestContext(request,
- {
+ c = {
"content" : doc.content,
"title" : doc.title,
"extracss" : doc.extracss.all(),
- })
- return HttpResponse(t.render(c))
+ }
+ return render(request, template_name, c)
def css_view(request, slug):
cssdoc = CSSDocument.objects.get(slug=slug)
@@ -72,4 +71,4 @@ def css_view(request, slug):
raise Http404()
return HttpResponse(cssdoc.content, content_type="text/css")
-
+
diff --git a/sommitrealweird/photo/migrations/0001_initial.py b/sommitrealweird/photo/migrations/0001_initial.py
new file mode 100644
index 0000000..d42465c
--- /dev/null
+++ b/sommitrealweird/photo/migrations/0001_initial.py
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2017-06-22 09:40
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import photo.models
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Album',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=120)),
+ ('caption', models.TextField(blank=True, null=True)),
+ ('slug', models.SlugField()),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Photo',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('image', models.ImageField(null=True, upload_to=photo.models.get_upload_path)),
+ ('caption', models.TextField(blank=True, null=True)),
+ ('order', models.IntegerField(blank=True, null=True)),
+ ('album', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='photo.Album')),
+ ],
+ ),
+ ]
diff --git a/sommitrealweird/photo/migrations/__init__.py b/sommitrealweird/photo/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/sommitrealweird/settings.py b/sommitrealweird/settings.py
index 723ff4d..70594da 100644
--- a/sommitrealweird/settings.py
+++ b/sommitrealweird/settings.py
@@ -50,15 +50,10 @@ SECRET_KEY = [random.choice(key_chars) for a in range(0,50)]
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
- 'LOCATION': '%s/tmp' %(topdir),
+ 'LOCATION': '%s/tmp' %(topdir),
}
}
-TEMPLATE_LOADERS = (
- 'django.template.loaders.filesystem.Loader',
- 'django.template.loaders.app_directories.Loader',
-)
-
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
@@ -70,9 +65,28 @@ MIDDLEWARE_CLASSES = (
ROOT_URLCONF = 'urls'
-TEMPLATE_DIRS = (
- os.path.join(topdir, 'templates'),
-)
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [os.path.join(topdir, 'templates'),],
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.contrib.auth.context_processors.auth',
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.i18n',
+ 'django.template.context_processors.media',
+ 'bpcms.context_processors.content_menu',
+ 'bpcms.context_processors.content_submenu',
+ 'bpcms.context_processors.content_breadcrumb',
+ 'blog.context_processors.content_breadcrumb',
+ 'blog.context_processors.blog_feed',
+ 'photo.context_processors.content_breadcrumb',
+ ],
+ 'debug': True,
+ },
+ },
+]
INSTALLED_APPS = (
'django.contrib.auth',
@@ -80,25 +94,12 @@ INSTALLED_APPS = (
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
- 'django.contrib.comments',
'bpcms',
'generic',
'blog',
'photo',
)
-TEMPLATE_CONTEXT_PROCESSORS = (
- 'django.contrib.auth.context_processors.auth',
- 'django.core.context_processors.debug',
- 'django.core.context_processors.i18n',
- 'generic.context_processors.media',
- 'bpcms.context_processors.content_menu',
- 'bpcms.context_processors.content_submenu',
- 'bpcms.context_processors.content_breadcrumb',
- 'blog.context_processors.content_breadcrumb',
- 'blog.context_processors.blog_feed',
- 'photo.context_processors.content_breadcrumb',
-)
APPEND_SLASH=False
diff --git a/sommitrealweird/urls.py b/sommitrealweird/urls.py
index 6c9c006..0a4b5f3 100644
--- a/sommitrealweird/urls.py
+++ b/sommitrealweird/urls.py
@@ -1,6 +1,8 @@
from django.conf.urls import include, url
from django.conf.urls.static import static
-from settings import MEDIA_ROOT, MEDIA_URL
+import bpcms.views
+import django.views.static
+from settings import MEDIA_ROOT, MEDIA_URL, STATIC_URL
from blog.feeds import LatestBlogEntries, LatestBlogEntriesRss
from django.contrib import admin
@@ -21,15 +23,14 @@ urlpatterns = [
# (r'^sommitrealweird/', include('sommitrealweird.foo.urls')),
# Uncomment this for admin:
- url(r'^$', 'bpcms.views.document_view', {'slug': 'index'}),
- url(r'^media/(?P.*)$', 'django.views.static.serve', {'document_root': MEDIA_ROOT, 'show_indexes': True}),
+ url(r'^$', bpcms.views.document_view, {'slug': 'index'}),
+ url(r'^media/(?P.*)$', django.views.static.serve, {'document_root': MEDIA_ROOT, 'show_indexes': True}),
url(r'^admin/', include(admin.site.urls)),
url(r'^blog/', include('blog.urls')),
url(r'^photo/', include('photo.urls')),
#url(r'^photos/', include('photo.urls')),
- url(r'^css-doc/(?P.*)$', 'bpcms.views.css_view'),
+ url(r'^css-doc/(?P.*)$', bpcms.views.css_view),
url(r'^feeds/rss/blog/', LatestBlogEntriesRss()),
url(r'^feeds/blog/', LatestBlogEntries()),
- url(r'^comments/', include('django.contrib.comments.urls')),
url(r'^', include('bpcms.urls'))
-] + static(MEDIA_URL, MEDIA_ROOT)
+] + static(STATIC_URL, document_root=MEDIA_ROOT)
{{ comment.user_name }} - {{ comment.submit_date|date:"Y-m-d H:i" }}
- {{ comment.comment }} -