Как поместить данные в базу данных при нажатии на ссылку в django
<a href="{% url 'one' one.id_n %}" class="bg-gray-900 shadow-lg rounded p-3 overflow-hidden hover:shadow-xl hover:scale-105 duration-500 transform transition cursor-pointer">
<div class="group relative">
<img class="w-full md:w-72 block rounded" src="{{ one.f1 }}" alt="" />
</div>
</a>
Я начинающий django и хочу добавить данные в виде "one.id_n" в бд при нажатии на ссылку.
Вы можете сделать что-то вроде этого :
В urls.py:
urlpatterns = [
path("one/<int:id_n>", views.get_one_view, name="one"),
...
]
Вход в models.py:
class MyOneModel(models.Model):
one_id = models.IntField(default=-1)
Вход в views.py:
def get_one_view(request, id_n):
MyOneModel.objects.create(one_id = id_n)
return render(request, "one.html", {})
В Django отправка данных осуществляется по http POST, что почти всегда соответствует использованию формы и представления. После POST'а представление обычно перенаправляет на новую страницу. Другими словами, "ссылка" - это перенаправление в представлении.
Простите, что говорю это, но вам действительно нужно проработать один из базовых учебников по Django. Я бы посоветовал отказаться от представлений на основе функций и научиться использовать представление FormView на основе классов, но это мнение.