v
vdl0555103 липня 2019 р. 06:14

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

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

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

Вам це подобається? Поділіться в соціальних мережах!

10
Evgenii Legotckoi
  • 03 липня 2019 р. 13:16

Добрый день

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

def get(self, request, *args, **kawrgs)
    if int(self.request.GET.get('page')) == 1:
        return redirect(self.request.path)
    v
    • 04 липня 2019 р. 06: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
      • 04 липня 2019 р. 06:21

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

        v
        • 04 липня 2019 р. 06: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
          • 04 липня 2019 р. 06: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
            • 04 липня 2019 р. 06:58

            NameError: name 'self' is not defined

              Evgenii Legotckoi
              • 04 липня 2019 р. 06: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
                • 04 липня 2019 р. 07:01

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

                  Evgenii Legotckoi
                  • 04 липня 2019 р. 07: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
                    • 04 липня 2019 р. 07:10

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

                      Коментарі

                      Only authorized users can post comments.
                      Please, Log in or Sign up
                      sf

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

                      • Результат:90бали,
                      • Рейтинг балів8
                      МВ

                      Qt - Тест 001. Сигналы и слоты

                      • Результат:68бали,
                      • Рейтинг балів-1
                      ЛС

                      C++ - Тест 001. Первая программа и типы данных

                      • Результат:53бали,
                      • Рейтинг балів-4
                      Останні коментарі
                      A
                      ALO1ZE19 жовтня 2024 р. 08:19
                      Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                      ИМ
                      Игорь Максимов05 жовтня 2024 р. 07:51
                      Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                      d
                      dblas505 липня 2024 р. 11:02
                      QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                      k
                      kmssr08 лютого 2024 р. 18:43
                      Qt Linux - Урок 001. Автозапуск програми Qt під Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                      АК
                      Анатолий Кононенко05 лютого 2024 р. 01:50
                      Qt WinAPI - Урок 007. Робота з ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                      Тепер обговоріть на форумі
                      J
                      JacobFib17 жовтня 2024 р. 03:27
                      добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
                      ИМ
                      Игорь Максимов03 жовтня 2024 р. 04:05
                      Реализация навигации по разделам Спасибо Евгений!
                      JW
                      Jhon Wick01 жовтня 2024 р. 15:52
                      Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
                      КГ
                      Кирилл Гусарев27 вересня 2024 р. 09:09
                      Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
                      F
                      Fynjy22 липня 2024 р. 04:15
                      при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

                      Слідкуйте за нами в соціальних мережах