2017-11-12 3 views
0

게시물을 편집/업데이트 할 수있는보기가 있습니다. 게시물은 양식을 작성한 결과입니다. 이것은 편집 한 후 CMS 게시물로 리디렉션하는 것과 비슷합니다. 여기에 포스트 뷰는 다음과 같습니다 난 그냥 편집 항목으로 재 지정하려는 반면Django - 편집 후보기로 리디렉션

class PostUpdateView(UpdateView): 
    model = Product 
    form_class = ProductForm 
    template_name = 'edit_product.html' 

    def form_valid(self, form): 
     self.object = form.save(commit=False) 
     self.object.save() 
     return redirect ('products') 

    @method_decorator(login_required) 
    def dispatch(self, request, *args, **kwargs): 
    return super(PostUpdateView, self).dispatch(request, *args, **kwargs) 

형태로 정보를 업데이트 한 후에는 '제품'페이지로 리디렉션합니다. 항목에 대한 URL은 다음과 같습니다

url(r'^([0-9]+)/$', views.detail, name = 'detail'), 

각 게시물은 다음 URL의 숫자와 같은 http://127.0.0.1:8000/13/입니다. 이전 페이지로 리디렉션 할 수 있지만 편집보기로 돌아가는 반면 실제 포스트보기로 돌아가서 편집을 표시하고 싶습니다. 바라기를 이것은 진흙으로 명확하지 않다.

나는 폼을 업데이트 한 후에 orginating url을 grap해야 사용할 수 있다고 생각합니다. 그래서 지금 당장 연구하고 있습니다. 기쁜 마음으로받은 모든 안내.

답변

2

form_valid에서 명시 적으로 말한 내용이므로 제품 페이지로 리디렉션됩니다. 세부 정보 페이지로 리디렉션하려면 다음을 수행하십시오.

return redirect('detail', self.object.pk) 
+0

고맙습니다 - 제품에가는 리디렉션이 있음을 알고 있었지만 올바른 방법으로 작업을 수행하는 방법을 찾았습니다 . 당신은 대답했고, 나는 그 도움에 대해 대단히 감사합니다! – Steve