我有一個使用CreateView CBV的視圖(CreateWorkRelationView)。在URL中,傳遞了一個參數(用戶),我需要引用很多參數。是否可以在我的課程中設置對象用戶以外的功能?那麼你是否可以從函數外部訪問kwargs?在基於類的視圖中使用url參數Django
所以我基本上只是想下面的行添加到我的班
user = get_object_or_404(Contact.pk=kwargs['user'])
在然而此刻,返回
NameError: name 'kwargs' is not defined
這是我的課
class CreateWorkRelationView(LoginRequiredMixin, SuccessMessageMixin, CreateView):
template_name = 'groups/group_form.html'
form_class = WorkRelationForm
model = WorkRelation
title = "Add a work relation"
success_message = "Workrelation was successfully created."
def form_valid(self, form):
user = get_object_or_404(Contact, pk=self.kwargs['user'])
form.instance.contact = user
return super(CreateWorkRelationView, self).form_valid(form)
def get_success_url(self):
return reverse_lazy('contacts:contact_detail', self.kwargs['user'])
的之所以我想這樣做,是因爲:
- 我想在我的標題字符串中使用這個對象。
- 我將添加更多功能,他們都需要這個對象。
如果您正在尋找已登錄的用戶可以使用self.request.user但我可能失去了一些東西,但 – Arnaud