Here are the examples of the python api django.http.HttpResponsePermanentRedirect taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
134 Examples
3
Example 1
Project: courtlistener Source File: views.py
def redirect_opinion_pages(request, pk, slug):
# Handles the old /$court/$ascii/$slug/(authorities)? format. /cited-by/
# is handled elsewhere since that page has now been through additional
# movements.
pk = ascii_to_num(pk)
path = reverse('view_case', args=[pk, slug])
if request.path.endswith('/authorities/'):
path += 'authorities/'
if request.META['QUERY_STRING']:
path = '%s?%s' % (path, request.META['QUERY_STRING'])
return HttpResponsePermanentRedirect(path)
3
Example 2
def process_request(self, request):
if request.method != 'GET':
# Only redirect GET requests.
return None
if request.META['REMOTE_ADDR'] == '0.1.0.1':
# Don't redirect cron jobs.
return None
host = request.get_host()
if host != 'scoretool.appspot.com':
# Only redirect default version.
return None
url = '%s://%s%s' % (
request.is_secure() and 'https' or 'http',
'www.nxdom.com', request.path)
if request.META['QUERY_STRING']:
url += '?' + request.META['QUERY_STRING']
return HttpResponsePermanentRedirect(url)
3
Example 3
def get(self, request, *args, **kwargs):
url = self.get_redirect_url(*args, **kwargs)
if url:
if self.permanent:
return http.HttpResponsePermanentRedirect(url)
else:
return http.HttpResponseRedirect(url)
else:
logger.warning('Gone: %s', self.request.path,
extra={
'status_code': 410,
'request': self.request
})
return http.HttpResponseGone()
3
Example 4
Project: dndtools Source File: views.py
def permanent_redirect_object(request, object):
url = object.get_absolute_url()
# get parameters
if len(request.GET) > 0:
#noinspection PyUnresolvedReferences
url += "?" + request.GET.urlencode()
return HttpResponsePermanentRedirect(url)
3
Example 5
def get(self, request, *args, **kwargs):
self.object = self.get_object()
# Check that the case matches what it's supposed to be
if self.object.package.name != self.kwargs.get(self.slug_url_kwarg, None):
return HttpResponsePermanentRedirect(reverse("pypi_package_serversig", kwargs={"slug": self.object.package.name}))
return HttpResponse(base64.b64decode(self.object.content), mimetype="application/octet-stream")
3
Example 6
Project: django-retracer Source File: middleware.py
def unstash_location(self, nonce=False, permanent=False):
location = self.pop_location()
if nonce:
location = add_query_param(location, make_nonce(), '')
if permanent:
return http.HttpResponsePermanentRedirect(location)
return http.HttpResponseRedirect(location)
3
Example 7
def get(self, request, *args, **kwargs):
node = self.get_object()
page = self.get_page()
if 'slug' in self.kwargs:
return HttpResponsePermanentRedirect(urlresolvers.reverse(
preview, kwargs={'page_pk': page.pk, 'node_pk': node.pk}
))
context = {
'root_node_override': node,
}
return self.page_view(request, page, context)
3
Example 8
def resolve_alias(self, request, path, lang):
alias = PageAlias.objects.from_path(request, path, lang)
if alias:
url = alias.page.get_url_path(lang)
return HttpResponsePermanentRedirect(url)
raise Http404
3
Example 9
Project: private-readthedocs.org Source File: public.py
def legacy_project_detail(request, username, project_slug):
return HttpResponsePermanentRedirect(reverse(
project_detail, kwargs = {
'project_slug': project_slug,
}
))
3
Example 10
def redirect(self, viewname, permanent=False, **kwargs):
"""
Returns a 301 or 302 redirect response with the reversed URL from the
given viewname and other optional arguments to View.reverse().
If permanent is True, the redirect will be a permanent 301 redirect.
Otherwise, it will be a temporary 302 redirect.
"""
return (
http.HttpResponsePermanentRedirect
if permanent
else http.HttpResponseRedirect)(
self.reverse(viewname, **kwargs))
3
Example 11
Project: dndtools Source File: views.py
def permanent_redirect_object_mobile(request, object):
url = object.get_absolute_url_mobile()
# get parameters
if len(request.GET) > 0:
#noinspection PyUnresolvedReferences
url += "?" + request.GET.urlencode()
return HttpResponsePermanentRedirect(url)
3
Example 12
def get(self, request, *args, **kwargs):
url = self.get_redirect_url(*args, **kwargs)
if url:
if self.permanent:
return http.HttpResponsePermanentRedirect(url)
else:
return http.HttpResponseRedirect(url)
else:
logger.warning(
'Gone: %s', request.path,
extra={'status_code': 410, 'request': request}
)
return http.HttpResponseGone()
3
Example 13
def redirects(request, id):
"""
Redirect old Tendenci 4 IDs to new Tendenci 5 slugs
"""
try:
help_file_migration = HelpFileMigration.objects.get(t4_id=id)
try:
help_file = HelpFile.objects.get(pk=help_file_migration.t5_id)
return HttpResponsePermanentRedirect(help_file.get_absolute_url())
except:
return HttpResponsePermanentRedirect(reverse('help_files'))
except:
return HttpResponsePermanentRedirect(reverse('help_files'))
3
Example 14
def get(self, request, *args, **kwargs):
self.comment = None
if 'c' in request.GET:
try:
self.comment = comments.get_model().objects.get(
pk=request.GET['c'])
except (ObjectDoesNotExist, ValueError):
pass
if self.comment and self.comment.is_public:
return HttpResponsePermanentRedirect(
self.comment.get_absolute_url(
'#comment-%(id)s-by-') + slugify(self.comment.user_name))
context = self.get_context_data(**kwargs)
return self.render_to_response(context)
3
Example 15
Project: django-uturn Source File: middleware.py
def optional_redirect(request, redirect=None):
if redirect:
if redirect == '/permanent':
return HttpResponsePermanentRedirect(redirect)
return HttpResponseRedirect(redirect)
return HttpResponse(b'hi')
3
Example 16
Project: courtlistener Source File: views.py
def redirect_cited_by_page(request, pk):
try:
int(pk)
except ValueError:
# Cannot cast to int, must be ascii
pk = ascii_to_num(pk)
return HttpResponsePermanentRedirect('/?q=cites%%3A%s' % pk)
3
Example 17
def get(self, request, *args, **kwargs):
url = self.get_redirect_url(**kwargs)
if url:
if self.permanent:
return http.HttpResponsePermanentRedirect(url)
else:
return http.HttpResponseRedirect(url)
else:
logger.warning('Gone: %s' % self.request.path,
extra={
'status_code': 410,
'request': self.request
})
return http.HttpResponseGone()
3
Example 18
def redirect(self, request, base):
path = base.rstrip('/') + request.path
if request.GET:
path += '?' + request.GET.urlencode()
response = HttpResponsePermanentRedirect(path)
response['Vary'] = 'X-Mobile'
return response
3
Example 19
Project: Misago Source File: exceptionhandler.py
def handle_explicit_first_page_exception(request, exception):
matched_url = request.resolver_match.url_name
if request.resolver_match.namespace:
matched_url = '%s:%s' % (request.resolver_match.namespace, matched_url)
url_kwargs = request.resolver_match.kwargs
del url_kwargs['page']
new_url = reverse(matched_url, kwargs=url_kwargs)
return HttpResponsePermanentRedirect(new_url)
3
Example 20
Project: private-readthedocs.org Source File: views.py
def legacy_serve_docs(request, username, project_slug, filename):
proj = get_object_or_404(Project, slug=project_slug)
default_version = proj.get_default_version()
url = reverse(serve_docs, kwargs={
'project_slug': project_slug,
'version_slug': default_version,
'lang_slug': 'en',
'filename': filename
})
return HttpResponsePermanentRedirect(url)
3
Example 21
def get(self, request, *args, **kwargs):
self.object = self.get_object()
# Check that the case matches what it's supposed to be
if self.object.name != self.kwargs.get(self.slug_url_kwarg, None):
return HttpResponsePermanentRedirect(reverse("simple_package_detail", kwargs={"slug": self.object.name}))
context = self.get_context_data(object=self.object)
return self.render_to_response(context)
3
Example 22
def get(self, request, *args, **kwargs):
self.object = self.get_object()
# Check that the case matches what it's supposed to be
if self.object.package.name != self.kwargs.get(self.slug_url_kwarg, None):
return HttpResponsePermanentRedirect(reverse("pypi_package_detail", kwargs={"slug": self.object.package.name}))
return HttpResponse(self.object.content)
3
Example 23
Project: Misago Source File: exceptionhandler.py
def handle_outdated_slug_exception(request, exception):
view_name = request.resolver_match.view_name
model = exception.args[0]
model_name = model.__class__.__name__.lower()
url_kwargs = request.resolver_match.kwargs
url_kwargs['slug'] = model.slug
new_url = reverse(view_name, kwargs=url_kwargs)
return HttpResponsePermanentRedirect(new_url)
3
Example 24
def get(self, request, *args, **kwargs):
url = self.get_redirect_url(**kwargs)
if url:
if self.permanent:
return http.HttpResponsePermanentRedirect(url)
else:
return http.HttpResponseRedirect(url)
else:
警告
logger.warning('Gone: %s', self.request.path,
extra={
'status_code': 410,
'request': self.request
})
return http.HttpResponseGone()
3
Example 25
def process_response(self, request, response):
if response.status_code == 404:
lookup = {
"site_id": current_site_id(),
"old_path": request.get_full_path(),
}
try:
redirect = Redirect.objects.get(**lookup)
except Redirect.DoesNotExist:
pass
else:
if not redirect.new_path:
response = HttpResponseGone()
else:
response = HttpResponsePermanentRedirect(redirect.new_path)
return response
3
Example 26
Project: django-parler Source File: views.py
def dispatch(self, request, *args, **kwargs):
try:
return super(TranslatableSlugMixin, self).dispatch(request, *args, **kwargs)
except FallbackLanguageResolved as e:
# Handle the fallback language redirect for get_object()
with switch_language(e.object, e.correct_language):
return HttpResponsePermanentRedirect(e.object.get_absolute_url())
3
Example 27
Project: django-oscar Source File: views.py
def redirect_if_necessary(self, current_path, product):
if self.enforce_parent and product.is_child:
return HttpResponsePermanentRedirect(
product.parent.get_absolute_url())
if self.enforce_paths:
expected_path = product.get_absolute_url()
if expected_path != urlquote(current_path):
return HttpResponsePermanentRedirect(expected_path)
3
Example 28
Project: django.org.tr Source File: middleware.py
def process_response(self, request, response):
if response.status_code != 404:
return response
parts = request.path[1:].split('/')
if len(parts) == 0 or (len(parts) > 1 and parts[1] != ''):
return response
# the last part can be have the tags
last_bits = parts[-1].split('+')
redirect_tag_url_bits = []
for bit in last_bits:
redirect_tag_url_bits.append(slugify(bit))
redirect_tag_url = '+'.join(redirect_tag_url_bits)
if parts[-1] == redirect_tag_url:
# already a proper tag slug, but 404
return response
parts[-1] = redirect_tag_url
return HttpResponsePermanentRedirect('/'.join(parts))
3
Example 29
Project: dndtools Source File: views.py
def permanent_redirect_view(request, view_name, args=None, kwargs=None):
url = reverse(view_name, args=args, kwargs=kwargs)
# get parameters
if len(request.GET) > 0:
#noinspection PyUnresolvedReferences
url += "?" + request.GET.urlencode()
return HttpResponsePermanentRedirect(url)
3
Example 30
def view_definition(request, redirect=None):
if redirect:
if redirect == '/permanent':
return HttpResponsePermanentRedirect(redirect)
return HttpResponseRedirect(redirect)
return HttpResponse(b'hi')
3
Example 31
def vote(request, slug, vote):
article = get_object_or_404(Article.objects.published(), slug=slug)
article.votes.add(request._secret_token, vote)
if request.is_ajax():
response = {'response': _('Thank you for your feedback.')}
return HttpResponse(json.dumps(response), content_type='application/json')
return HttpResponsePermanentRedirect(article.get_absolute_url())
3
Example 32
Project: django-common Source File: middleware.py
def process_request(self, request):
if settings.IS_PROD and request.get_host() != settings.DOMAIN_NAME:
proto_suffix = 's' if request.is_secure() else ''
url = 'http{0}://{1}{2}'.format(proto_suffix, settings.DOMAIN_NAME,
request.get_full_path())
return HttpResponsePermanentRedirect(url)
return None
3
Example 33
def get(self, request, *args, **kwargs):
"""
GET only do a permanent redirection to the Entry.
"""
entry = self.get_object()
return HttpResponsePermanentRedirect(entry.get_absolute_url())
3
Example 34
def get(self, request, *args, **kwargs):
url = self.get_redirect_url(*args, **kwargs)
if url:
if self.permanent:
return http.HttpResponsePermanentRedirect(url)
else:
return http.HttpResponseRedirect(url)
else:
logger.warning('Gone: %s', request.path,
extra={
'status_code': 410,
'request': request
})
return http.HttpResponseGone()
3
Example 35
Project: courtlistener Source File: views.py
def redirect_cited_by_feeds(request, pk):
try:
int(pk)
except ValueError:
# Cannot cast to int, must be ascii.
pk = ascii_to_num(pk)
return HttpResponsePermanentRedirect('/feed/search/?q=cites%%3A%s' % pk)
3
Example 36
def dispatch(self, request, *args, **kwargs):
if getattr(settings, 'DEBUG', False):
return super(SSLRequiredMixin, self).dispatch(
request, *args, **kwargs)
if not request.is_secure():
if self.raise_exception:
raise Http404
return HttpResponsePermanentRedirect(
self._build_https_url(request))
return super(SSLRequiredMixin, self).dispatch(request, *args, **kwargs)
3
Example 37
def get(self, request, *args, **kwargs):
try:
if not is_safe_url(request.GET['from']):
return HttpResponseForbidden()
return HttpResponsePermanentRedirect(request.GET['from'])
except KeyError:
return HttpResponseBadRequest()
3
Example 38
def process_request(self, request):
path = request.path.lstrip("/")
if (self.redirect and not request.is_secure() and
not any(pattern.search(path)
for pattern in self.redirect_exempt)):
host = self.redirect_host or request.get_host()
return HttpResponsePermanentRedirect(
"https://%s%s" % (host, request.get_full_path())
)
3
Example 39
def _redirect(self, request, secure):
protocol = secure and "https" or "http"
newurl = "%s://%s%s" % (protocol, request.get_host(), request.get_full_path())
if settings.DEBUG and request.method == 'POST':
raise RuntimeError(
"Django can't perform a SSL redirect while maintaining "
"POST data. Please structure your views so that redirects "
"only occur during GETs.")
return HttpResponsePermanentRedirect(newurl)
3
Example 40
def process_request(self, request):
if self.proxy_ssl_header and not request.is_secure():
header, value = self.proxy_ssl_header
if request.META.get(header, None) == value:
# We're only patching the current request; its secure status
# is not going to change.
request.is_secure = lambda: True
path = request.path.lstrip("/")
if (self.redirect and
not request.is_secure() and
not any(pattern.search(path)
for pattern in self.redirect_exempt)):
host = self.redirect_host or request.get_host()
return HttpResponsePermanentRedirect(
"https://%s%s" % (host, request.get_full_path()))
3
Example 41
Project: django-blogdor Source File: views.py
def get_queryset(self):
post = Post.objects.select_related().filter(pk=self.kwargs['post_id'])
if post and post[0].is_published:
return HttpResponsePermanentRedirect(post.get_absolute_url())
else:
return post
3
Example 42
def get(self, request, *args, **kwargs):
url = self.get_redirect_url(**kwargs)
if url:
if self.permanent:
return http.HttpResponsePermanentRedirect(url)
else:
return http.HttpResponseRedirect(url)
else:
logger.warning('Gone: %s', self.request.path,
extra={
'status_code': 410,
'request': self.request
})
return http.HttpResponseGone()
3
Example 43
Project: private-readthedocs.org Source File: views.py
def legacy_build_list(request, username=None, project_slug=None, tag=None):
return HttpResponsePermanentRedirect(
reverse(build_list, kwargs={
'project_slug': project_slug,
})
)
3
Example 44
def process_request(self, request):
"""Removes the slash from urls, or adds a slash for the admin urls"""
exceptions = ['/staff', '/__debug__']
if filter(request.path.startswith, exceptions):
if request.path[-1] != '/':
return http.HttpResponsePermanentRedirect(request.path+"/")
else:
if request.path != '/' and request.path[-1] == '/':
return http.HttpResponsePermanentRedirect(request.path[:-1])
return None
3
Example 45
Project: django-page-cms Source File: views.py
def resolve_redirection(self, request, context):
"""Check for redirections."""
current_page = context['current_page']
lang = context['lang']
if current_page.redirect_to_url:
return HttpResponsePermanentRedirect(current_page.redirect_to_url)
if current_page.redirect_to:
return HttpResponsePermanentRedirect(
current_page.redirect_to.get_url_path(lang))
3
Example 46
def redirect_to(request, url, **kwargs):
"""
Redirect to a given URL.
The given url may contain dict-style string formatting, which will be
interpolated against the params in the URL. For example, to redirect from
``/foo/<id>/`` to ``/bar/<id>/``, you could use the following URLconf::
urlpatterns = patterns('',
('^foo/(?P<id>\d+)/$', 'django.views.generic.simple.redirect_to', {'url' : '/bar/%(id)s/'}),
)
If the given url is ``None``, a HttpResponseGone (410) will be issued.
"""
if url is not None:
return HttpResponsePermanentRedirect(url % kwargs)
else:
return HttpResponseGone()
3
Example 47
def process_response(self, request, response):
if request.path.startswith('/retrieve_logs/'):
job = request.GET.get('job', None)
if job is not None:
redirect_url = retrieve_logs(job)
return HttpResponsePermanentRedirect(redirect_url)
return response
3
Example 48
def process_request(self, request):
is_cron = request.META.get('HTTP_X_APPENGINE_CRON', '') == 'true'
if settings.DEBUG or request.method == 'POST' or is_cron:
return
if not request.is_secure():
host = request.get_host().split(':')[0]
return HttpResponsePermanentRedirect(
'https://%s%s' % (host, request.get_full_path()))
3
Example 49
def redirect(request, alias):
sc = get_object_or_404(Shortcut, alias=alias)
if sc.method == 'http301':
return HttpResponsePermanentRedirect(sc.redirect_to)
elif sc.method == 'http302':
return HttpResponseRedirect(sc.redirect_to)
elif sc.method == 'meta':
return render_to_response('shortcuts/redirect.html', {'shortcut': sc})
return HttpResponse('')
3
Example 50
Project: django-oscar Source File: views.py
def redirect_if_necessary(self, current_path, category):
if self.enforce_paths:
# Categories are fetched by primary key to allow slug changes.
# If the slug has changed, issue a redirect.
expected_path = category.get_absolute_url()
if expected_path != urlquote(current_path):
return HttpResponsePermanentRedirect(expected_path)