그래서 나는 모델이 포함되어있는 것을 :장고에 FK 필드를 설정하기 위해 일반적인보기 CreateView를 기반
class Place(models.Model):
....
created_by = models.ForeignKey(User)
내보기과 같이이다 :
class PlaceFormView(CreateView):
form_class = PlaceForm
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(PlaceFormView, self).dispatch(*args, **kwargs)
인가 거기에 내가 request.user에 액세스하고 그 사용자에게 created_by를 설정할 수있는 방법이 있습니까? 나는 문서를 살펴 봤지만 이것에 대한 어떤 힌트도 찾을 수없는 것 같습니다.
`
고마워요! 이것은 리디렉션을 제외하고는 작동합니다. 리디렉션 할 URL이 없습니다. URL을 제공하거나 모델에서 get_absolute_url 메소드를 정의하십시오. "라는 오류가 나타납니다. 그러나 모델에 get_absolute_url()이 설정되어 있고이 뷰가 처음에는 양식의 선택 상자와 함께 작동 할 때 제대로 리디렉션되었습니다. 지금 이것을 알아 내려고 노력 중입니다. 어떤 아이디어? – Brian
예, get_absolute_url이 self.object에서 가져온 것처럼 보입니다 - 그래서 코드에서'form_valid'에'self.object = obj'를 설정하십시오 –
다시 한번 감사드립니다. 알았어. – Brian