There's probably better solution, but this works:
1) added a page_number to the view
2) subclass dispatch and in get page from request: self.page_number
= request.REQUEST['page']
3) subclass get_context_data and put the page number in a hidden files on
the form: context['hidden_field'] = self.page_number #20
in the form:
{% for hidden_field in form.hidden_fields %}
{{ hidden_field }}
{% endfor %}
4) subclass form_valid and set the page_number: self.page_number =
context['hidden_field']
5) and finally:
get_success_url(self, **kwargs):
return reverse('articleeditor_list', kwargs={'page':
self.page_number})
class ArticleEditView(UpdateView):
model = Article
template_name = 'edit_template.html'
page_number = 1
def dispatch(self, request, *args, **kwargs):
self.page_number = request.REQUEST['page']
return super(ArticleEditView, self).dispatch(request, *args,
**kwargs)
def get_context_data(self, **kwargs):
context = super(ArticleEditView, self).get_context_data(**kwargs)
context['hidden_field'] = self.page_number
return context
def form_valid(self, form, **kwargs):
context = self.get_context_data(**kwargs)
self.page_number = context['hidden_field']
return super(ArticleEditView, self).form_valid(form)
def get_success_url(self, **kwargs):
return reverse('editor_listview', kwargs={'page': self.page_number})
On Friday, September 12, 2014 12:23:52 PM UTC-10, James Y wrote:
>
> It must be more simple than the nothingness that searching google is
> showing me... how can I to get back to the last page (say page 2:
> http://127.0.0.1:8000/articlelist/2, which works) in a ListView after an
> UpdateView.
>
> I can go to a random page - 10 in the below UpdateView - but how do I
> capture the referring ListView's current page and then feed that back in
> get_success_url after the update?
>
> class ArticleEditView(UpdateView):
> model = Article
> template_name = 'edit_template.html'
> form_class = ArticleForm
>
> def get_success_url(self):
> return reverse('editor_listview', kwargs={'page': 10})
>
>
> Thank you
>
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/95758a18-4b00-41f0-adff-5b9d383f882d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.