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

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