Как вставить поле в таблицу из базы данных с помощью скрипта python и вывести его на html-страницу или вывести результат python в html напрямую с помощью pycharm django
Итак, я новичок в django и python, у меня есть мини проект по созданию системы поддержки принятия решений. я уже создал сайт, уже подключил его к базе данных и имею код на python, теперь у меня возникли трудности с тем, чтобы вывести результат/цель на python в существующее поле в таблице dataresponden из базы данных и вывести его на html. поток выглядит так:
пользователь ввел данные (nama, umur, gejala, komorbid) и сохранил их в таблице dataresponden(nama, umur, gejala, komorbid, hasil_rekomendasi) в базе данных. пользователь не вводил hasil_rekomendasi, потому что hasil_rekomendasi - это результат системы поддержки принятия решений. В python я читаю запрос dataresponden как набор данных, устанавливаю hasil_rekomendasi как цель и вычисляю остальные столбцы. Я получаю нужный мне результат hasil_prediksi, теперь проблема в том, что я хочу вывести hasil_prediksi в столбец hasil_rekomendasi в таблице dataresponden, потому что когда пользователь вводит данные, он не вводит hasil_rekomendasi. после этого я хочу вывести его на html страницу.
я пробовал это Выполнить скрипт python по нажатию кнопки но не сработало, я пытался использовать update table но это тоже не сработало, вот код
в файле hasil.html :
<div class="modal-body text-center pb-5" id="hasilrekomendasi">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8">
<h3 class="portfolio-modal-title text-secondary text-uppercase mb-0">Hasil test</h3>
<div class="divider-custom">
<div class="divider-custom-line"></div>
<div class="divider-custom-line"></div>
</div>
<h5 class="mb-4 text-secondary">{{ hasil_prediksi }}</h5>
<div>
<button class="portfolio-item mx-auto button button4"><a href="{% url 'question' %}">Retake</a></button>
<button class="portfolio-item mx-auto button button4"><a href="{% url 'index' %}">Home</a></button>
</div>
</div>
</div>
</div>
</div>
в nbc.py после выполнения nbc я добавляю updatetable. я хочу увидеть последнюю запись, после чего я хочу заполнить hasil_prediksi в колонку "hasil_rekomendasi" в таблице на основе последнего id в таблице. где idt = последний id в таблице из базы данных, hasil_prediksi = последняя цель в таблице. это мой nbc.py :
conn = psycopg2.connect(
host=config.host,
database=config.database,
user=config.user,
password=config.password)
cur = conn.cursor()
datagejala = pd.read_sql_query("SELECT * FROM public.skripsi_dataresponden ", conn)
..nbc..
hasil_prediksi = dftestt.tail(1)
idt = dataid.tail(1)
def updatetable():
try:
sql = "select * from public.skripsi_dataresponden where id = %s"
cur.execute(sql, (idt,))
conn.commit()
record = cur.fetchone()
print(record)
sql_update = "Update public.skripsi_dataresponden set hasil_rekomendasi = %s where id = %s"
cur.execute(sql_update, (hasil_prediksi, idt))
conn.commit()
except (Exception, psycopg2.Error) as error:
print("Error in update operation", error)
вот мой views.py
def question(request):
return render(request, 'question.html')
def formdata(request):
nama = request.POST.get("namaa")
umur = request.POST.get("umur")
komorbid = request.POST.get("penyakit_bawaan")
ruang = request.POST.get("ketersediaan_ruang")
demam = request.POST.get("demam")
lelah = request.POST.get("lelah")
batuk = request.POST.get("batuk")
nyeri = request.POST.get("nyeri")
tersumbat = request.POST.get("tersumbat")
pilek = request.POST.get("pilek")
sakit_kepala = request.POST.get("sakit_kepala")
tenggorokan = request.POST.get("tenggorokan")
diare = request.POST.get("diare")
hilang_cium = request.POST.get("hilang_penciuman")
ruam = request.POST.get("ruam")
sesak = request.POST.get("sesak")
sulit_gerak = request.POST.get("sulit_gerak")
nyeri_dada = request.POST.get("nyeri_dada")
data_resp = DataResponden(nama=nama, umur=umur, penyakit_bawaan=komorbid,
ketersediaan_ruang=ruang, demam=demam, lelah=lelah, batuk=batuk,
nyeri=nyeri, tersumbat=tersumbat, pilek=pilek,
sakit_kepala=sakit_kepala, tenggorokan=tenggorokan, diare=diare,
hilang_penciuman=hilang_cium, ruam=ruam, sesak=sesak, sulit_gerak=sulit_gerak,
nyeri_dada=nyeri_dada)
data_resp.save()
return redirect('hasil')
def hasil(request):
hasil_rekom = request.POST("hasil_rekomendasi")
hasil_rekomendasi = DataResponden(hasil_rekomendasi=hasil_rekom)
return render(request, 'hasil.html', {'hasil_rekomendasi': hasil_rekomendasi})
но я получаю ошибку типа "'QueryDict' object is not callable". если я пишу hasil_rekom = request.POST.get("hasil_rekomendasi")
страница появляется, но результата нет. спасибо заранее!