Как поместить/удалить данные из формы в базу данных с помощью 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 стандартным способом.