представление перенаправления django с параметром - PullRequest
1 голос
/ 23 сентября 2019

В моем приложении у меня есть файл urls.py, который содержит следующие строки:

...
path('home/', views.home, name='home'),
path('page/', views.page, name='page'),
....

и в моем файле view.py у меня есть два вида, как это:

def home(request, value=0):
    print("value=", value)
    return render(request, 'template.html', context)


def page(request):
    if bad:
        return redirect(reverse('home'), value=1)

Можно ли использовать функцию представления с параметром (например, значением в этом случае), а затем использовать перенаправление из представления страницы, передавая некоторое значение, основанное на том же условии, как значение = 1, в этом случае, используя формат, описанный вurls.py?Приведенный выше код всегда печатает значение = 0, несмотря ни на что.

Единственный способ, которым я могу думать, это использовать глобальные переменные, которых я действительно хотел бы избежать ...

1 Ответ

2 голосов
/ 23 сентября 2019

Да, но вам нужно добавить параметр в URL:

path('home/', views.home, name='home1'),
path('home/<b><int:value></b>/', views.home, name='home2'),

Затем вам нужно передать страницу в самом редиректе вместе с именем представления, вы не должны использовать reverse(..) здесь:

def page(request):
    if bad:
        return redirect(<b>'home2'</b>, value=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...