Как я могу загрузить значения в форму из нужной строки таблицы щелчком мыши?
Добрый день! Я планирую создать мини-приложение. Которое состоит из одной страницы (основной) - шаблона. А также одной дополнительной страницы - на второй странице я заполняю информацию в таблицу модели через форму. На другой странице (главной) - я отображаю информацию в виде таблицы. Я планирую разместить форму рядом с таблицей. Самое сложное заключается в том, что в этой форме я хотел бы получать данные и записывать/отправлять данные из определенной строки таблицы.
Например, я щелкаю по элементу в строке таблицы, и в форме отображается информация - содержимое этой строки, по которой я щелкнул или нажал.
В форме отображается загруженная информация, значения из строки таблицы, которые затем можно редактировать, а данные можно записывать обратно в табличную модель.
Можете ли вы что-нибудь придумать по этому поводу? Я был бы очень благодарен за любые советы и помощь.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>title</title>
</head>
<body>
<div>
<h4>Мероприятия</h4>
</div>
<br/>
<div>
<form method="GET" action="{% url 'table' %}">
{{ form.as_p }}
<input type="submit" value="Submit" class="button" />
</form>
</div>
<br/>
<div>
<table style="font-family: Arial, Helvetica, sans-serif; font-size: small;">
<thead>
<tr>
{% for col in table.columns %}
<th>
{{ col }}
</th>
{% endfor %}
</tr>
</thead>
{% for index, row in table.iterrows %}
<tr>
{% for cell in row %}
<td style="text-align: center;">
{{ cell }}
</td>
{% endfor %}
</tr>
{% endfor %}
</table>
</div>
<br/>
<hr/>
<div>
<ul>
{% for book in books %}
<li>
<a href="{% url 'book-detail' book.pk %}">{{ book.nameobject }}</a>
</li>
{% endfor %}
</ul>
</div>
<br/>
<hr/>
<div>
<table>
<thead>
<tr>
<th>ОМСУ</th>
<th>Наименование объекта</th>
<th>Тип объекта</th>
<th>Объём финансирования</th>
<th>Подрядчик</th>
</tr>
</thead>
<tbody>
{% for book in books %}
<tr>
<td>{{ book.city }}</td>
<td >
<a href="{% url 'book-detail' book.pk %}">{{ book.nameobject }}</a>
</td>
<td>{{ book.typeobject }}</td>
<td>{{ book.budget }}</td>
<td>{{ book.podryadchik }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</body>
</html>
--
def table(request):
context = {}
book_filter = BookFilter(request.GET, queryset=ArkiObject_1.objects.all())
table_2 = book_filter.qs
context['form'] = book_filter.form
table = pd.DataFrame.from_records(table_2.values("city", "nameobject", "typeobject", "budget", "podryadchik"))
context['table'] = table
context['books'] = table_2
return render(request, "table.html", context)
def book(request, pk):
context = {}
form_2 = Form_GPR(request.POST or None)
if form_2.is_valid():
model_instance = form_2.save(commit=False)
value_work = model_instance.work
value_peoples = model_instance.peoples
value_pk = pk
new_entry = ArkiGpr(name=value_pk, work=value_work, peoples=value_peoples)
new_entry.save()
return redirect("book-detail", pk)
context['form_2'] = form_2
""" Gets an individual book object from the database, based on its ID/PK. Renders a detail template """
book = get_object_or_404(ArkiObject_1, pk=pk)
context['book'] = book
filter_qs = ArkiGpr.objects.filter(name=pk)
filter_qs = filter_qs.values("work", "peoples")
context['books'] = filter_qs
return render(request, 'bookdetail.html', context)