Как передать два параметра через url в django
Я хочу передавать два параметра через url в django. Во-первых, вот мой текущий html:
{% for lesson in lessons %}
{% for class in lessons %}
<a href="{% url 'next-page' lesson.pk %}">Link to next page {{lesson}} {{class}}</a>
{% endfor %}
{% endfor %}
А это мой url:
path('nextpage/<int:pk>/', ListView.as_view(), name='next-page'),
Однако я хочу что-то вроде следующего:
{% for lesson in lessons %}
{% for class in lessons %}
<a href="{% url 'next-page' lesson.pk class.pk %}">Link to next page {{lesson}} {{class}}</a>
{% endfor %}
{% endfor %}
и мой url:
path('nextpage/<int1:pk>/<int2:pk>', ListView.as_view(), name='next-page'),
Затем я хочу иметь возможность доступа к первичным ключам в моем представлении ниже:
class LessonList(generic.ListView):
model = Lesson
template_name = 'lesson_list.html'
context_object_name = "lessons"
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
lesson_id = self.kwargs['pk1']
class_id = self.kwargs['pk2']
return context
Очевидно, что приведенный выше код не работает. Однако я хочу иметь возможность передавать два параметра в url, и обращаться к обоим в get_context_data
моего представления. Спасибо, и пожалуйста, оставляйте любые вопросы, которые у вас могут возникнуть.
Вы допустили ошибку при определении пути, он должен быть <int:pk1>
вместо , поэтому:<int1:pk>
path('nextpage/<int:pk1>/<int:pk2>/', ListView.as_view(), name='next-page'),
тогда вы действительно можете работать с:
<a href="{% url 'next-page' lesson.pk class.pk %}">Link to next page {{lesson}} {{class}}</a>
учитывая, что и lesson
, и class
существуют в контексте.