django.http.HttpResponsePermanentRedirect

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 7

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)

Example 2

Project: nxdom Source File: middleware.py
Function: process_request
    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)

Example 3

Project: hue Source File: base.py
Function: get
    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()

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)

Example 5

Project: crate-site Source File: views.py
Function: get
    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")

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)

Example 7

Project: django-widgy Source File: views.py
Function: get
    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)

Example 8

Project: django-page-cms Source File: views.py
Function: resolve_alias
    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

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,
        }
    ))

Example 10

Project: django-daydreamer Source File: base.py
Function: redirect
    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))

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)

Example 12

Project: django Source File: base.py
Function: get
    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()

Example 13

Project: tendenci Source File: views.py
Function: redirects
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'))

Example 14

Project: django-blog-zinnia Source File: comments.py
Function: get
    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)

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')

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)

Example 17

Project: django-cbv Source File: base.py
Function: get
    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()

Example 18

Project: django-mobility Source File: middleware.py
Function: redirect
    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

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)

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)

Example 21

Project: crate-site Source File: views.py
Function: get
    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)

Example 22

Project: crate-site Source File: views.py
Function: get
    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)

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)

Example 24

Project: decode-Django Source File: base.py
Function: get
    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()

Example 25

Project: mezzanine Source File: middleware.py
Function: process_response
    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

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())

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)

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))

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)

Example 30

Project: django-uturn Source File: decorators.py
Function: view_definition
def view_definition(request, redirect=None):
    if redirect:
        if redirect == '/permanent':
            return HttpResponsePermanentRedirect(redirect)
        return HttpResponseRedirect(redirect)
    return HttpResponse(b'hi')

Example 31

Project: django-kb Source File: views.py
Function: vote
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())

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

Example 33

Project: django-blog-zinnia Source File: trackback.py
Function: get
    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())

Example 34

Project: PyClassLessons Source File: base.py
Function: get
    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()

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)

Example 36

Project: django-braces Source File: _access.py
Function: dispatch
    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)

Example 37

Project: django-widgy Source File: views.py
Function: get
    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()

Example 38

Project: Django--an-app-at-a-time Source File: security.py
Function: process_request
    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())
            )

Example 39

Project: hyperkitty Source File: middleware.py
Function: redirect
    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)

Example 40

Project: django-secure Source File: middleware.py
Function: process_request
    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()))

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

Example 42

Project: GAE-Bulk-Mailer Source File: base.py
Function: get
    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()

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,
        })
    )

Example 44

Project: badgr-server Source File: middleware.py
Function: process_request
    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

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))

Example 46

Project: talk.org Source File: simple.py
Function: redirect_to
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()

Example 47

Project: autotest Source File: retrieve_logs.py
Function: process_response
    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

Example 48

Project: rietveld Source File: middleware.py
Function: process_request
  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()))

Example 49

Project: django-shortcuts Source File: views.py
Function: redirect
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('')
    

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)
See More Examples - Go to Next Page
Page 1 Selected Page 2 Page 3