Size: a a a

Django [ru] #STAY HOME

2020 March 24

AG

Artem Gubatenko in Django [ru] #STAY HOME
в шаблон например
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Нет, не смотрел честно говоря. Просто увидел что срабатывает толькл для одной кнопки.
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Sergey Matveyev
Нет, не смотрел честно говоря. Просто увидел что срабатывает толькл для одной кнопки.
может не прокидываешь, или где-то твое значение заменяется
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Artem Gubatenko
может не прокидываешь, или где-то твое значение заменяется
Ну попробую ещё раз этот вариант конечно... Но не уверен честно говоря.
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Artem Gubatenko
может не прокидываешь, или где-то твое значение заменяется
не, всё точно, на show_save_and_add_another не работает, при этом show_save_and_continue норма скрывает
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Sergey Matveyev
не, всё точно, на show_save_and_add_another не работает, при этом show_save_and_continue норма скрывает
там еще были переменные, которые должны быть True
save_as вроде
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Sergey Matveyev
не, всё точно, на show_save_and_add_another не работает, при этом show_save_and_continue норма скрывает
и я так понял: у тебя show_save_and_add_another==False, но кнопка выводится?
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Artem Gubatenko
и я так понял: у тебя show_save_and_add_another==False, но кнопка выводится?
Про кнопку - да, только она:( Код вот такой:
    def add_view(self, request, form_url='', extra_context=None):
       extra_context = extra_context or {}
       extra_context['show_save_and_add_another'] = False
       extra_context['show_save_and_continue'] = False
       extra_context['save_as'] = False
       return super(FeedbackAdmin, self).add_view(request, form_url, extra_context=extra_context)
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Sergey Matveyev
Про кнопку - да, только она:( Код вот такой:
    def add_view(self, request, form_url='', extra_context=None):
       extra_context = extra_context or {}
       extra_context['show_save_and_add_another'] = False
       extra_context['show_save_and_continue'] = False
       extra_context['save_as'] = False
       return super(FeedbackAdmin, self).add_view(request, form_url, extra_context=extra_context)
а зачем add_view переопределять?
при подготовке данных, в changeform_view() например, не пробовал?

вот пример как можно попробовать обновить контекст:
https://github.com/20tab/django-totalsum-admin/blob/master/totalsum/admin.py#L14
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Artem Gubatenko
а зачем add_view переопределять?
при подготовке данных, в changeform_view() например, не пробовал?

вот пример как можно попробовать обновить контекст:
https://github.com/20tab/django-totalsum-admin/blob/master/totalsum/admin.py#L14
Нет, не пробовал. я думал если объект - новый, то нужно использовать add_view
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Сейчас так попробую
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Artem Gubatenko
а зачем add_view переопределять?
при подготовке данных, в changeform_view() например, не пробовал?

вот пример как можно попробовать обновить контекст:
https://github.com/20tab/django-totalsum-admin/blob/master/totalsum/admin.py#L14
Попробовал в changeform_view обновить контекст - вообще ноль реакции, даже save_and_continue на месте
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Sergey Matveyev
Попробовал в changeform_view обновить контекст - вообще ноль реакции, даже save_and_continue на месте
а как обновлял контекст?
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Artem Gubatenko
а как обновлял контекст?
Вот - response.context_data.update(extra_context)
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Вру немного.
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Убрал вот этот блок:
        if not hasattr(response, "context_data") or "cl" not in response.context_data:
           return response

Ушла кнопка save_and_continue, save_and_add_another остаётся.
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Но при попытке сохранить падает с ошибкой 'HttpResponseRedirect' object has no attribute 'context_data'.
Собсвтенно та же проблема, как была у меня, только аттрибут другой - раньше не было rendered_content
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Sergey Matveyev
Но при попытке сохранить падает с ошибкой 'HttpResponseRedirect' object has no attribute 'context_data'.
Собсвтенно та же проблема, как была у меня, только аттрибут другой - раньше не было rendered_content
для этого там проверка и стояла)

может тебе проще шаблон заменить для страницы с формой и там подменить {{submit_row}} на свою кнопку с таким же оформлением и тегами?
раз show_save_and_add_another не хочет пропадать
источник

SM

Sergey Matveyev in Django [ru] #STAY HOME
Artem Gubatenko
для этого там проверка и стояла)

может тебе проще шаблон заменить для страницы с формой и там подменить {{submit_row}} на свою кнопку с таким же оформлением и тегами?
раз show_save_and_add_another не хочет пропадать
Я юзаю admin.ModelAdmin, с джанговским шаблоном, не хотел бы рауками шаблон делать.
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Sergey Matveyev
Я юзаю admin.ModelAdmin, с джанговским шаблоном, не хотел бы рауками шаблон делать.
там не делается заново, а подменяются блоки в имеющимся шаблоне
https://books.agiliq.com/projects/django-admin-cookbook/en/latest/custom_button.html
источник