urls.pydjango : 변수를 클래스에 전달하는 방법은 무엇입니까?
url(r'^customer/(?P<name>[^\s]+)/$', customerDetailView.as_view(), name="customerDetailView"), #pass 'name' variable
및
class customerDetailView(DetailView):
context_object_name = 'customerDetail'
template_name = "customer.html"
allow_empty = True
def __init__(self, name=None, *args):
self.name = name # name is 'None'... Why...?
def get_queryset(self):
return Customer.objects.get(name=self.name)
난 그냥 '192.168.1.5/customer/abc/'을 요청
views.py
하지만, '이름은'아무도 없습니다 ...'이름'받는 방법? 어떻게해야합니까?
편집 ----- views.py
class customerDetailView(DetailView):
context_object_name = 'customerDetail'
template_name = "customer.html"
allow_empty = True
"""
def __init__(self, **kwargs):
import pdb;pdb.set_trace()
self.name = kwargs['name']
"""
def get_queryset(self):
# import pdb;pdb.set_trace()
self.name = self.kwargs['name'] # Thanks Kay Zhu!!
return Customer.objects.get(name=self.name)
난 당신이 대답 코드를 적용 할 수 있습니다.
그런 다음 나는
어떻게해야합니까 ... 'PK'
Generic detail view customerDetailView must be called with either an object pk or a slug.
그래서 내가 필요로하는 오류를 얻을?
두 번째 문제를 해결하기위한 답을 업데이트했습니다. –