Как сохранить часть url <str:> в контексте Django Class Based View

Я пытаюсь получить значение uuid_contrat в моем url в контексте моих представлений. Вот что у меня получилось на данный момент:

urls.py

from django.contrib import admin
from django.urls import path, include
from applications.views import *
from . import views

urlpatterns = [
    path('<str:uuid_contrat>/', ApplicationListView.as_view(), name="applications") ,
]

views.py

class ApplicationListView(ListView):
    model = ViewDevpermissionapplicationuser
    template_name = 'applications/applications.html'

    def get_context_data(self, *args, **kwargs):
        kwargs.update(
            user= self.request.session.get('user', {'is_authenticated' : False})
        )
        
       
        context['uuid_contrat'] = self.request.GET.get('uuid_contrat')
        
        return  context

Я пытался использовать request.GET.get, но это не работает, есть предложения?

Вы можете использовать self.kwargs['uuid_contrat'] для получения uuid из url kwargs, так:


class ApplicationListView(ListView):
    model = ViewDevpermissionapplicationuser
    template_name = 'applications/applications.html'

    def get_context_data(self, *args, **kwargs):
        kwargs.update(
            user=self.request.session.get('user', {'is_authenticated': False})
        )

        context['uuid_contrat'] = self.kwargs['uuid_contrat']

        return context
Вернуться на верх