From 9f2fc4dc776939785bc1041066074b01bcf7afda Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Sun, 25 Feb 2018 14:17:16 +0100 Subject: [PATCH] Updates to make Django 1.11 compatible All changes are backwards compatible, so can be deployed on both existing 1.8 and upcoming 1.11 infrastructure. --- gitadmin/gitadmin/adm/urls.py | 25 ++++++++++++++----------- gitadmin/gitadmin/adm/views.py | 16 ++++++++-------- gitadmin/gitadmin/settings.py | 23 +++++++++++------------ gitadmin/gitadmin/urls.py | 18 ++++++------------ 4 files changed, 39 insertions(+), 43 deletions(-) diff --git a/gitadmin/gitadmin/adm/urls.py b/gitadmin/gitadmin/adm/urls.py index 728cff8..f96e61b 100644 --- a/gitadmin/gitadmin/adm/urls.py +++ b/gitadmin/gitadmin/adm/urls.py @@ -1,14 +1,17 @@ -from django.conf.urls import patterns +from django.conf.urls import url -urlpatterns = patterns('', - (r'^$', 'gitadmin.adm.views.index'), - (r'^repo/(\d+)/$', 'gitadmin.adm.views.editrepo'), - (r'^repo/(\d+)/delete/$', 'gitadmin.adm.views.deleterepo'), - (r'^new/$', 'gitadmin.adm.views.newrepo'), - (r'^help/$', 'gitadmin.adm.views.help'), +import gitadmin.adm.views +import gitadmin.auth + +urlpatterns = [ + url(r'^$', gitadmin.adm.views.index), + url(r'^repo/(\d+)/$', gitadmin.adm.views.editrepo), + url(r'^repo/(\d+)/delete/$', gitadmin.adm.views.deleterepo), + url(r'^new/$', gitadmin.adm.views.newrepo), + url(r'^help/$', gitadmin.adm.views.help), # Log in/out - (r'^login/$', 'gitadmin.auth.login'), - (r'^logout/$', 'gitadmin.auth.logout'), - (r'^auth_receive/$', 'gitadmin.auth.auth_receive'), -) + url(r'^login/$', gitadmin.auth.login), + url(r'^logout/$', gitadmin.auth.logout), + url(r'^auth_receive/$', gitadmin.auth.auth_receive), +] diff --git a/gitadmin/gitadmin/adm/views.py b/gitadmin/gitadmin/adm/views.py index cd25b82..4768243 100644 --- a/gitadmin/gitadmin/adm/views.py +++ b/gitadmin/gitadmin/adm/views.py @@ -3,7 +3,7 @@ import re from django.http import HttpResponse, HttpResponseRedirect from django.template import RequestContext -from django.shortcuts import render_to_response, get_object_or_404 +from django.shortcuts import render, get_object_or_404 from django.contrib.auth.decorators import login_required, user_passes_test from django.forms.models import inlineformset_factory from django.db import transaction @@ -44,12 +44,12 @@ def index(request): where=["remoterepository_id IS NULL AND repoid IN (SELECT repository FROM repository_permissions where userid=%s)"], select={'perm':"SELECT CASE WHEN level>1 THEN 't'::boolean ELSE 'f'::boolean END FROM repository_permissions WHERE userid=%s AND repository_permissions.repository=repositories.repoid"}, params=[request.user.username], select_params=[request.user.username]).order_by('name') - return render_to_response('index.html', { + return render(request, 'index.html', { 'repos': repos, - },context_instance=RequestContext(request)) + }) def help(request): - return render_to_response('help.html') + return render(request, 'help.html') @login_required @transaction.atomic @@ -109,13 +109,13 @@ def editrepo(request, repoid): perm = repo.repositorypermission_set.all() - return render_to_response('repoview.html', { + return render(request, 'repoview.html', { 'form': form, 'formset': formset, 'repo': repo, 'repoperm': perm, 'form_saved_at': savedat, - },context_instance=RequestContext(request)) + }) @login_required @@ -133,9 +133,9 @@ def deleterepo(request, repoid): else: form = ConfirmDeleteForm() - return render_to_response('deleterepo.html', { + return render(request, 'deleterepo.html', { 'form': form, - },context_instance=RequestContext(request)) + }) @login_required diff --git a/gitadmin/gitadmin/settings.py b/gitadmin/gitadmin/settings.py index f480f42..1e7d941 100644 --- a/gitadmin/gitadmin/settings.py +++ b/gitadmin/gitadmin/settings.py @@ -51,13 +51,6 @@ STATIC_URL = '/media/' # Make this unique, and don't share it with anybody. SECRET_KEY = '#!n9!a8@q)6y^yq&$6zij_=#g*o52ogc=1uch)d0!hb%-5&w!_' -# List of callables that know how to import templates from various sources. -TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', -# 'django.template.loaders.eggs.load_template_source', -) - MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', @@ -67,11 +60,17 @@ MIDDLEWARE_CLASSES = ( ROOT_URLCONF = 'gitadmin.urls' -TEMPLATE_DIRS = ( - # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) +TEMPLATES = [{ + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, +}] INSTALLED_APPS = ( 'django.contrib.auth', diff --git a/gitadmin/gitadmin/urls.py b/gitadmin/gitadmin/urls.py index 81a5d11..079a0f8 100644 --- a/gitadmin/gitadmin/urls.py +++ b/gitadmin/gitadmin/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import patterns, include +from django.conf.urls import include, url # Uncomment the next two lines to enable the admin: from django.contrib import admin @@ -12,18 +12,12 @@ feeds = { } -urlpatterns = patterns('', - # Uncomment the next line to enable admin documentation: - # (r'^admin/doc/', include('django.contrib.admindocs.urls')), - +urlpatterns = [ # Uncomment the next line to enable the admin: - (r'^adm/admin/', include(admin.site.urls)), - -# Static (normally served by webserver) - (r'^pgstatic/(?P.*)$', 'django.views.static.serve', {'document_root':'static/'}), + url(r'^adm/admin/', include(admin.site.urls)), # Feeds - (r'^feeds/all/$', AllReposFeed()), + url(r'^feeds/all/$', AllReposFeed()), - (r'adm/', include('gitadmin.adm.urls')), -) + url(r'adm/', include('gitadmin.adm.urls')), +] -- 2.39.5