Django - UpdateView CBV 에서 url path 변수 값 참조하기

UpdateView 를 이용해서 view 함수를 꾸미는 경우 url 에 정의되어 있는 path parameter 를 어떻게 보나 살펴보고 있다.

그냥 view 함수는 그냥 매개변수로 넘겨주니깐 쉽게 되는데, class view 로 하는경우는 멀로 참고하나?

 

정답은 

kwargs['변수명'] 뽑아 쓰라는 것

이네!!

 

아래 예제를 보면, self.kwargs["원하는변수명"] 이런식으로 뽑아쓰고 있는 것을 볼 수 있다.

class DNSSettingsUpdateView(UpdateView):
    model = Domain
    form_class = NsRecordModelForm
    template_name = "engine/dns_settings.html"

    def get_object(self, queryset=None):
        return Domain.objects.get(name=self.kwargs['domain_name'])

    def get_success_url(self):
        return reverse("my-domains")

https://stackoverflow.com/questions/60917189/how-can-i-get-a-url-param-for-an-updateview-in-django

 

How can i get a url param for an updateview in django?

url: `path('my-domains/<str:domain_name>/dns-settings', login_required(DNSSettingsUpdateView.as_view()), name='dns_settings')` I want to get str:domain_name to use in my updateview: class

stackoverflow.com

그냥 view 함수에 init 할때 변수명도 같이 넘겨주면 되는거 아닌가 싶은데

 

머 쓸수만 있으면 되지.

 

잘 골라서 드세요 :)

Any Lane 님의 사진, 출처: Pexels