From d52fea9afa18520d006d8375944ba9c8f76a36be Mon Sep 17 00:00:00 2001 From: Jonathan Cremin Date: Sun, 18 Jan 2015 00:24:13 +0000 Subject: [PATCH] Prevent double submissions --- links/views.py | 12 ++++++++---- minie/settings.py | 1 - minie/urls.py | 4 ---- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/links/views.py b/links/views.py index 46731f2..f21bbea 100644 --- a/links/views.py +++ b/links/views.py @@ -1,7 +1,8 @@ +from urlparse import urlparse from django.shortcuts import render, redirect from django.http import Http404 +from django.contrib import messages from .models import Link, LinkForm -from urlparse import urlparse def catchall(request, id): try: @@ -13,14 +14,17 @@ def catchall(request, id): link = Link(url=id) link.save(); context = {'form': LinkForm} - context['short_url'] = "http://" + str(request.get_host()) + "/" + str(link.id) - return render(request, 'index.html', context) + request.session['short_url'] = "http://" + str(request.get_host()) + "/" + str(link.id) + return redirect('/') raise Http404("Link does not exist") def home(request): context = {'form': LinkForm} + if 'short_url' in request.session: + context['short_url'] = request.session['short_url'] if 'url' in request.POST: link = Link(url=request.POST['url']) link.save(); - context['short_url'] = "http://" + str(request.get_host()) + "/" + str(link.id) + request.session['short_url'] = "http://" + request.get_host() + "/" + link.id + return redirect('/') return render(request, 'index.html', context) \ No newline at end of file diff --git a/minie/settings.py b/minie/settings.py index 25fbf8e..837cd69 100644 --- a/minie/settings.py +++ b/minie/settings.py @@ -36,7 +36,6 @@ INSTALLED_APPS = ( MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', ) TEMPLATE_DIRS = ( diff --git a/minie/urls.py b/minie/urls.py index e158d95..7ddbccd 100644 --- a/minie/urls.py +++ b/minie/urls.py @@ -2,10 +2,6 @@ from django.conf.urls import patterns, include, url from django.contrib import admin urlpatterns = patterns('', - # Examples: - # url(r'^$', 'minie.views.home', name='home'), - # url(r'^blog/', include('blog.urls')), url(r'^$', 'links.views.home', name='home'), - url(r'^admin/', include(admin.site.urls)), url(r'(.*)', 'links.views.catchall', name='short'), )