v
vdl05551Шілде 3, 2019, 6:14 Т.Ж.

Редирект с page=1 на главную

Добрый день.
Пытаюсь сделать редирект с site.ru/?page=1 на просто site.ru/ и ничего не выходит... я уж и так и сяк. Если страница не существует, то с этим нет проблем, а тут не выходит(( Помогите

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

10
Evgenii Legotckoi
  • Шілде 3, 2019, 1:16 Т.Қ.

Добрый день

Вы можете попробовать в get методе попробовать обработать данную ситуацию следующим образом.

def get(self, request, *args, **kawrgs)
    if int(self.request.GET.get('page')) == 1:
        return redirect(self.request.path)
    v
    • Шілде 4, 2019, 6:20 Т.Ж.
    • (өңделген)

    Наверно я туп((
    Или я не вкуриваю куда и что добавлять))
    Исправил опечатки, добавил код в views, но ничего не происходит. В urls что то надо добавлять?

    def get(self, request, *args, **kwargs):
        if int(self.request.GET.get('page')) == 1:
            return redirect(self.request.path)
    

    Django 2.2.3

      Evgenii Legotckoi
      • Шілде 4, 2019, 6:21 Т.Ж.

      покажите urls и views, а также перезапустите проект, если у вас DEBUG = False

        v
        • Шілде 4, 2019, 6:37 Т.Ж.

        DEBUG = True

        urls.py
        
        from django.conf import settings
        from django.conf.urls.static import static
        from django.contrib import admin
        from django.urls import path
        from .views import index
        from .views import save_detail
        #from .views import redirect_index
        #from .views import get
        from core.views import *
        
        
        urlpatterns = [
            path('', index, name='index'),
            path('save-<slug:slug>.html', save_detail, name='save_detail_url'),
            #path('?page=1', redirect_index),
            #path('page=1', get),
            path('admin/', admin.site.urls),
        ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
        
        views.py
        
        from django.shortcuts import render
        from core.models import Save
        from django.core.paginator import Paginator
        from django.shortcuts import get_object_or_404
        
        
        from django.shortcuts import redirect
        
        
        def index(request):
            saves = Save.objects.all().order_by('-pub_date')
            paginator = Paginator(saves, 22)
        
            page = request.GET.get('page', 1)
            saves = paginator.get_page(page)
            return render(request, 'index.html', context={'saves': saves})
        
        
        def save_detail(request, slug):
            #saves = Save.objects.get(slug__iexact=slug)
            saves = get_object_or_404(Save, slug__iexact=slug)
            return render(request, 'save.html', context={'saves': saves})
        
        
        def get(self, request, *args, **kwargs):
            if int(self.request.GET.get('page')) == 1:
                return redirect(self.request.path)
        
          Evgenii Legotckoi
          • Шілде 4, 2019, 6:42 Т.Ж.

          А понятно... вы вместо Class Based View (CBV) используете просто функции.

          Ну напишите так

          def index(request):
              if int(self.request.GET.get('page')) == 1:
                  return redirect(self.request.path)
          
              saves = Save.objects.all().order_by('-pub_date')
              paginator = Paginator(saves, 22)
          
              page = request.GET.get('page', 1)
              saves = paginator.get_page(page)
              return render(request, 'index.html', context={'saves': saves})
          
            v
            • Шілде 4, 2019, 6:58 Т.Ж.

            NameError: name 'self' is not defined

              Evgenii Legotckoi
              • Шілде 4, 2019, 6:58 Т.Ж.
              def index(request):
                  if int(request.GET.get('page')) == 1:
                      return redirect(request.path)
              
                  saves = Save.objects.all().order_by('-pub_date')
                  paginator = Paginator(saves, 22)
              
                  page = request.GET.get('page', 1)
                  saves = paginator.get_page(page)
                  return render(request, 'index.html', context={'saves': saves})
              
                v
                • Шілде 4, 2019, 7:01 Т.Ж.

                TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

                  Evgenii Legotckoi
                  • Шілде 4, 2019, 7:02 Т.Ж.
                  • Жауап шешім ретінде белгіленді.
                  def index(request):
                      if request.GET.get('page') and int(request.GET.get('page')) == 1:
                          return redirect(request.path)
                  
                      saves = Save.objects.all().order_by('-pub_date')
                      paginator = Paginator(saves, 22)
                  
                      page = request.GET.get('page', 1)
                      saves = paginator.get_page(page)
                      return render(request, 'index.html', context={'saves': saves})
                  
                    v
                    • Шілде 4, 2019, 7:10 Т.Ж.

                    Огромное спасибо! Прям как в тех. поддержку свою проблему писал)) Даже как то не удобно было :( С зарплаты обязательно поддержу проект!

                      Пікірлер

                      Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
                      Кіріңіз немесе Тіркеліңіз
                      AD

                      C++ - Тест 004. Указатели, Массивы и Циклы

                      • Нәтиже:50ұпай,
                      • Бағалау ұпайлары-4
                      m
                      • molni99
                      • Қаз. 26, 2024, 1:37 Т.Ж.

                      C++ - Тест 004. Указатели, Массивы и Циклы

                      • Нәтиже:80ұпай,
                      • Бағалау ұпайлары4
                      m
                      • molni99
                      • Қаз. 26, 2024, 1:29 Т.Ж.

                      C++ - Тест 004. Указатели, Массивы и Циклы

                      • Нәтиже:20ұпай,
                      • Бағалау ұпайлары-10
                      Соңғы пікірлер
                      ИМ
                      Игорь МаксимовҚар. 22, 2024, 11:51 Т.Ж.
                      Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                      Evgenii Legotckoi
                      Evgenii LegotckoiҚаз. 31, 2024, 2:37 Т.Қ.
                      Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                      A
                      ALO1ZEҚаз. 19, 2024, 8:19 Т.Ж.
                      Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                      ИМ
                      Игорь МаксимовҚаз. 5, 2024, 7:51 Т.Ж.
                      Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                      d
                      dblas5Шілде 5, 2024, 11:02 Т.Ж.
                      QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                      Енді форумда талқылаңыз
                      m
                      moogoҚар. 22, 2024, 7:17 Т.Ж.
                      Mosquito Spray System Effective Mosquito Systems for Backyard | Eco-Friendly Misting Control Device & Repellent Spray - Moogo ; Upgrade your backyard with our mosquito-repellent device! Our misters conce…
                      Evgenii Legotckoi
                      Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
                      добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
                      t
                      tonypeachey1Қар. 15, 2024, 6:04 Т.Ж.
                      google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
                      NSProject
                      NSProjectМаусым 4, 2022, 3:49 Т.Ж.
                      Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…

                      Бізді әлеуметтік желілерде бақылаңыз