diff options
| author | Ben Firshman | 2014-09-20 18:43:26 -0700 |
|---|---|---|
| committer | Ben Firshman | 2014-09-20 19:04:11 -0700 |
| commit | 0158a679083f030980e5463b2e7af906423cf6b0 (patch) | |
| tree | e3f413536a1ebdb870509282e5a31168c905b043 /src/shorturls/views.py | |
| parent | 81e40532dcdcf3844d12a08e4a8cd38370b45d17 (diff) | |
| download | django-shorturls-0158a679083f030980e5463b2e7af906423cf6b0.tar.bz2 | |
Add support for Django 1.7, remove 1.2 and 1.3
Diffstat (limited to 'src/shorturls/views.py')
| -rw-r--r-- | src/shorturls/views.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/shorturls/views.py b/src/shorturls/views.py index 1737472..d811fde 100644 --- a/src/shorturls/views.py +++ b/src/shorturls/views.py @@ -16,8 +16,12 @@ def redirect(request, prefix, tiny): # any of that stuff goes wrong. try: app_label, model_name = settings.SHORTEN_MODELS[prefix].split('.') - model = models.get_model(app_label, model_name) - if not model: raise ValueError + try: + model = models.get_model(app_label, model_name) + except LookupError: + raise Http404('Bad model.') + if not model: + raise ValueError id = base62.to_decimal(tiny) except (AttributeError, ValueError, KeyError): raise Http404('Bad prefix, model, SHORTEN_MODELS, or encoded ID.') @@ -50,4 +54,4 @@ def redirect(request, prefix, tiny): else: base = 'http://%s/' % RequestSite(request).domain - return HttpResponsePermanentRedirect(urlparse.urljoin(base, url))
\ No newline at end of file + return HttpResponsePermanentRedirect(urlparse.urljoin(base, url)) |
