Cancel
버튼을 만들
에 취소 버튼 만들기,하지만 난 AttributeError
예외 수신 계속 :는 UpdateView 양식
'PatientUpdate' object has no attribute 'object'
보기 :
class PatientUpdate(LoginRequiredMixin, UpdateView):
model = User
form_class = MyPatientEditForm
template_name = "patient/patient_edit.html"
success_url = reverse_lazy('patient_list')
def post(self, request, *args, **kwargs):
if "cancel" in request.POST:
url = self.get_success_url()
return HttpResponseRedirect(url)
else:
return super(PatientUpdate, self).post(request, *args, **kwargs)
HTML :
를<button class="btn" type="submit" name="cancel" value="Cancel" />Cancel</button>
추적 :
Traceback:
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Library/Python/2.7/site-packages/django/views/generic/base.py" in view
69. return self.dispatch(request, *args, **kwargs)
File "/Library/Python/2.7/site-packages/braces/views.py" in dispatch
107. request, *args, **kwargs)
File "/Library/Python/2.7/site-packages/django/views/generic/base.py" in dispatch
87. return handler(request, *args, **kwargs)
File "/Users/Maziar/Dropbox/Sandbox/tutorial/web/views.py" in post
60. url = self.get_success_url()
File "/Library/Python/2.7/site-packages/django/views/generic/edit.py" in get_success_url
133. url = self.success_url % self.object.__dict__
Exception Type: AttributeError at /patient/edit/3
Exception Value: 'PatientUpdate' object has no attribute 'object'
정확히 무엇이 잘못 되었습니까? 또한 전체 POST
절차를 수행하지 않고 단추에서 단순히 사용하려면 템플릿에서 success_url
변수를 가져 오는 것이 가능한지 고려했습니다.
UPDATE : success_url
작품을 완벽하게 정상적으로 양식이 정상적으로 제출 될 때.
@petkostas, cant be, 그러므로 그것은 성공했을 때 형태가 바뀔 때 작동합니다. – JavaCake
문제는 기본 updateview가 성공 URL을 다음과 같이 호출한다는 것입니다. ''if self.success_url : url = self.success_url % self.object .__ dict__'' self.object 인스턴스가''self .object = self.get_object()''또는''self.get_success_url()''을 호출하지 않고 그 시간에 커스텀의 URL로 HttpResponseRedirect를 돌려줍니다. – petkostas