Как поместить/удалить данные из формы в базу данных с помощью Django?

Я использую форму для отправки записи в мою базу данных в Django. Форма выглядит примерно так:

<form>
    <div>Field 1</div>
    <input/>
    <div>Field 2</div>
    <input/>
    ...
    <a id='save'>Save</a>
</form>

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

Вот мой JS:

const savebtn = document.querySelector('#save');
savebtn.addEventListener('click', showSelected);

function showSelected(e) {
    // post record to database here
    window.location.replace("/"); // redirect to home page

Я надеюсь использовать некоторый python для размещения этой записи, как показано ниже:

e = Entry()
e.field1 = 1
e.field2 = 2
e.save()

Но я не знаю, как я могу получить доступ к функции python в JS. Я думаю, что здесь может подойти тег шаблона, но не могу понять, как его использовать. В идеале мне не нужно переписывать форму, так как форматирование довольно специфическое, есть ли способ сделать это?

Вы должны создать конечную точку, которая будет выполнять алгоритм.

например, некоторые urls.py:

urlpatterns = [
    path('my_save_view', my_save_view, ...),
    ]

views.py:

def my_save_view(request):
    e = Entry()
    e.field1 = 1
    e.field2 = 2
    e.save()

и в javascript просто получить/извлечь эту конечную точку, когда вы хотите. При необходимости вы можете передать любые значения в представление методом GET или POST стандартным способом.

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