Python, Django, HTMX, возможно ли сохранить данные, когда пользователь нажимает <button>

Когда пользователь нажимает <кнопку> на индексной странице, может ли он сразу сохранить данные?

views.py

def index(request):
    ...
    ...
    context = { ... }
    response = render(request, 'docu/index.html', context)

    ### Save visitors' IP and Keywords to KeyLOG table ###
    ip = request.META.get('REMOTE_ADDR')
    keywords = request.META.get('HTTP_REFERER', '')
    keylog = KeylogForm(request.GET)
    keylog = keylog.save(commit=False)
    keylog.ipaddr = ip
    keylog.keyquery = keywords
    keylog.svae()

    return response


def keylog(request):
    if request.method == "GET":
        keylog_list = list(Keylog.objects.all().order_by()\
            .values('idpaddr', 'keywords', 'tel_log', 'regtime'))
        return JsonResponse(keylog_list, safe=False)
    return JsonResponse({'message':'error'})

forms.py

class KeylogForm(forms.ModelForm):
    class Meta:
        model = Keylog
    fields = ['ipaddr','keyquery','tel_log']

models.py

class Keylog(models.Model):
    ipaddr = models.CharField(max_length=32,null=True, blank=True) #save IP addr
    keyquery = models.CharField(max_length=128,null=True, blank=True) #save keywords
    tel_log = models.CharField(max_length=256,null=True, blank=True) #save tel_log
    regtime = models.DateTimeField(auto_now_add=True) #created time

В настоящее время таблица выглядит следующим образом;

Ipaddr keyquery tel_log regtime
192.168.x.yy ?query=apple 2023.01.01.12.24.56
192.168.a.bb ?query=banana 2023.01.01.11.22.33

Я надеюсь сохранить данные Tel_log в вышеуказанной таблице, когда пользователь нажимает <кнопку>...</button>.

Поэтому я сделал index.html как показано ниже;

index.html

<div id="tel_log">
    <button class="btn btn-danger">
        hx-get="keylog/"
        hx-vals="[tel_log='CALL']"
        hx-trigger="click">
    Phone NUMBER
    </button>
</div>

Мое ожидание заключается в том, что когда я нажимаю [НОМЕР ТЕЛЕФОНА] на индексной странице, "CALL" появляется в колонке "tel_log" вышеуказанной таблицы, но это не работает, просто показывает {message:error}

Я новичок в программировании, поэтому мой подход для моих нужд может быть неправильным, но мне очень хочется сделать сайт, особенно по этому вопросу. Я также пытался использовать Ajax, но не получил никакого ответа.

Спасибо за все.

Нажмите [кнопку], сохраните данные в реальном времени в столбце таблицы.

Вернуться на верх