#django
Вопрос:
У меня есть следующий исходный шаблон, который отображает uuid модели Pollers
в виде скрытого <a>
тега, чтобы перенаправить пользователя на этот элемент, отображаемый в новом шаблоне по щелчку пользователя.
<div class="poller-wrapper">
<a class="hidden_poller_id" href="/poller/{{ poller.poller_id }}">
<div class="poller-text">{{ poller.poller_text }}</div>
[...]
Сопоставление URL-адресов выглядит следующим образом:
urlpatterns = [
# Main overview of recent pollers
path('pollboard/', pollboard, name='pollboard'),
# Redirect url to single Poller
path('poller/<uuid:poller_id>', single_poller, name='single_poller'),
]
Вид
def single_poller(request):
return render(request, 'pollboard/single_poller.html')
Прямо сейчас я получаю следующую ошибку, и я не уверен, почему она неправильно перенаправляется:
Ошибка ввода в /poller/d251ce80-1d0d-41c4-a096-c12bdd2399f8 Функция single_poller() получила неожиданный аргумент ключевого слова ‘poller_id’
Ответ №1:
Ваше представление должно принимать значение параметра poller_id
URL, поэтому:
# ↓ value matched by <uuid:poller_id>
def single_poller(request, poller_id):
return render(request, 'pollboard/single_poller.html')
Вы можете использовать это, например, для извлечения связанного Poller
объекта и передачи элементов в качестве контекста для render(…)
вызова.