Django - перенаправление реверсом () с слагом и кваргами - PullRequest
1 голос
/ 22 марта 2019

проект URLS.py

path('<slug:slug>/', include('orgs.urls')),

приложение URLS.py

path('donate/', views.org_site_view, name='org_donate', kwargs=dict(page='donate')),

Что выглядит так: mysite.org/samporg/donate
Где samporg - это переменная слага.

Я пытаюсь перенаправить на страницу успеха, используя тот же вид пожертвования org_donate.

В связи с этим я пытался:

return redirect(reverse('org_donate', slug='samporg', kwargs={'page': 'donate_success'}))

return redirect(reverse('org_donate', kwargs={'page':'donate_success'}))

return redirect('org_donate', slug='samporg', kwargs={'page':'donate_success'})

return redirect('org_donate', kwargs={'slug':'samporg','page':'donate_success'})

Нет работы. Все бросают Аргумент или Обратные ошибки

Reverse for 'org_donate' with keyword arguments '{'kwargs': {'slug': 'samporg', 'page': 'donate_success'}}' not found. 1 pattern(s) tried: ['(?P<slug>[-a-zA-Z0-9_]+)\\/donate\\/$']

1 Ответ

2 голосов
/ 22 марта 2019

Я не думаю, что функция path() примет kwargs в качестве аргумента. Итак, удалите ее

# app/urls.py
path('donate/', views.org_site_view, name='org_donate'),

и, по вашему мнению, должно быть так:

return redirect('org_donate', kwargs={'slug':'samporg'})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...