Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.01.2023
Сообщений: 1

Django UpdateView Bootstrap modal

27.01.2023, 23:42. Показов 1921. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
view.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
сlass HistoryPamentsByService(ListView):
    model=Payments
    form_class=PaymentsForm
    template_name ='myflat/history_by_service.html'
    context_object_name='flats'
    slug_url_kwarg = 'slug'
 
    def get_context_data(self, **kwargs):
        context=super().get_context_data(**kwargs)
        form=PaymentsForm()
        payments=Payments.objects.filter(flats_id=self.kwargs['flats_id'])
        context['form']=form
        return context
 
    def get_form(self,*args,**kwargs):
        super().get_form(*args, **kwargs)
        form=PaymentsForm()
        return form
 
    def get_queryset(self):
        return Payments.objects.filter(slug=self.kwargs['slug'],flats_id=self.kwargs['flats_id'])
 
class UpdatePayments(UpdateView):
    model=Payments
    pk_url_kwarg='pk'
    form_class=PaymentsForm
    template_name='myflat/update_modal.html'
    context_object_name='name_flat'
urls.py
Python
1
2
3
4
urlpatterns = [ path('history_by_service/<slug:slug>/<int:flats_id>/',
                      HistoryPamentsByService.as_view(),name='HistoryPamentsByService'),
                path('UpdatePayments/<int:pk>/',UpdatePayments.as_view(),name='UpdatePayments'),
              ]
template history_by_service.html (for ListView)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{%extends "base.html"%}
{%block content%}
{% for flat in flats  %}
    <tr>
      <td scope="row">{{ forloop.counter }} </td>
      <td>{{flat.name_service}}</td>
      <td>{{flat.amount_of_bill}}</td>
      <td>{{flat.amount_of_real}}</td>
      <td>{{flat.date_of_bill}}</td>
      <td>{{flat.date_of_payment}}</td>
      <td>{{flat.get_status_payment_display}}</td>
      <td>{{flat.comments}}</td>
      <td>{{flat.bill_save_pdf}}</td>
      <td>
<form method="post" action="{% url 'UpdatePayments' flat.pk  %}" enctype="multipart/form-data">
{% csrf_token %}
<button type='button' class='btn btn-success btn-sm' id="update_modal" 
data-bs-toggle="modal"     data-bs-target="#update_modal{{flat.pk}}">
<i class="fa-regular fa-pen-to-square fa-fw"></i>Edit</button> 
{% include "myflat/update_modal.html" %}
</form> 
{% endfor %}
 
{% endblock content %}
template update_modal.html
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<div class="modal fade" id="update_modal{{flat.pk}}" data-bs-backdrop="static" 
    data-bs-keyboard="false" tabindex="-1" aria-labelledby="update_modal" aria-hidden="true">
<div class="modal-dialog">
  <div class="modal-content" style="width:auto">
   <div class="modal-header">
     <h5 class="modal-title " id="update_modalLabel">{{flat.name_flat}}</h5>
     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
   </div>
 
<form  method="post" action="{% url 'UpdatePayments' flat.pk %}" enctype="multipart/form-data">
   <div class="modal-body">
     {% csrf_token %} 
     {% for field in form %}
        {{field}}          
     {% endfor %}
   </div>
  <div class="modal-footer">
    <button type="submit" class="btn btn-primary" >
      <i class="fa-solid fa-trash fa-fw" ></i>Save</button>
    
    <button type="button" class="btn btn-warning" 
     data-bs-dismiss="modal">
     <i class="fa-regular fa-circle-xmark"></i>Close</button>
 </div>
</div>
</form>
</div>          
</div>
</div>
Пытался также добавить в UpdatePayments(UpdateView) следующий код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
class UpdatePayments(UpdateView):
    model=Payments
    pk_url_kwarg='pk'
    form_class=PaymentsForm
    template_name='myflat/update_modal.html'
    context_object_name='name_flat'
 
def get_context_data(self, **kwargs):
        context= super().get_context_data(**kwargs)
        obj=Payments.objects.get(pk=self.kwargs['pk'])
        form=PaymentsForm(self.request.POST or None ,instance=obj)
        context['form']=form
        return context
Но все равно получаю пустые поля в модальном окне Bootstrap
причем когда я заполняю пустую форму и нажимаю сохранить, все данные сохраняется и отображаются в ListViewпредставление, и когда нажимаю кнопку назад в браузере, то переход на предыдущую страницу не осуществляется, и если снова открыть модальное окно, в котором только, что до этого заполнил поля, то модальное окно появляется с заполненными уже данными!

Что делать как изменить код, чтобы модальное окно сразу появлялось с данными, не пустое?!
Спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.01.2023, 23:42
Ответы с готовыми решениями:

Django, UpdateView, обновление с использованием ajax
Django 1.10. jquery-3.1.0 Решил сделать обновление данных через ajax. В общем, получаю чистое окно браузера. В Хроме в...

Не удается подключить Bootstrap к Django сайту
Не могу подключить бутстрап к джанго сайту, размещенном на хостинге. В html документе прописал эти строки: {% load staticfiles %} ...

Не могу разобраться с Django Bootstrap Modal Forms
Ну не выскакивают окошки хоть убейся . Для теста сделал новый проект и все по инструкции . Но нифига не работает. Джангу только начал...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.01.2023, 23:42
Помогаю со студенческими работами здесь

Bootstrap несколько modal окон
Есть готовые модальные окна, кнопка вызова: &lt;button type=&quot;button&quot; class=&quot;btn btn-primary&quot; data-toggle=&quot;modal&quot;...

Bootstrap, modal & jQuery
Здравствуйте. Есть модальное окно (twitter bootstrap) и в нем выводится таблица для подсчета. В зависимости от выбранных ячеек в этой...

Bootstrap modal + ajax вернуть страницу
доброй недели всем. в модальном окне бутстрапа ввожу логин пароль. аяксом отсылаю : $.ajax({ url:...

bootstrap modal как использовать метод show? чтоб модальное окно отображалось при вызове определённой функции
&lt;!-- Button trigger modal --&gt; &lt;button type=&quot;button&quot; class=&quot;btn btn-primary&quot; data-bs-toggle=&quot;modal&quot; data-bs-target=&quot;#exampleModal&quot;&gt; ...

Bootstrap не работает css в django
подскажите по джанго2 не работает bootstrap &quot;&quot;&quot; Django settings for mysite project. Generated by 'django-admin startproject' using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru