Как сохранить часть 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