Я пытаюсь сделать простое взаимодействие с базой данных / грубость с Django.На данный момент я просто сделал простое представление для отображения информации из базы данных в HTML-таблице, и я пытаюсь добавить функциональность, которая добавит новую информацию в базу данных.
Для этого у меня естьполе ввода для каждого столбца таблицы, присутствующего в таблице, и кнопка добавления для добавления в базу данных.Я хотел, чтобы это работало методом POST.Запрос POST будет рассчитан для представления, которое добавит новые значения в базу данных, и перенаправит на страницу с таблицей html, которая затем отобразит добавленную информацию.
Однако мне не совсем удалосьчтобы найти решение того, что мне нужно сделать.
Это views.py, который у меня есть на данный момент:
from orders.models import Order #my model
class OrdersList(TemplateView):
template_name = "orderlist.html"
def get_context_data(self, **kwargs):
context = super(OrdersList, self).get_context_data(**kwargs)
orders = Order.objects.all()
#adding values from the model to the context
context['orders'] = []
i = 0
for order in orders:
context['orders'].append(i)
context['orders'][i] = {}
context['orders'][i]['id'] = i+1
context['orders'][i]['market_place'] = order.market_place
context['orders'][i]['purchase_date'] = order.purchase_date
context['orders'][i]['purchase_time'] = order.purchase_time
context['orders'][i]['amount'] = order.amount
context['orders'][i]['currency'] = order.currency
i = i + 1
#eventually, context['orders'] will be an array of dictionaries, one for each order present in the model
return context
и мой urls.py
from orders.views import *
urlpatterns = [
path('', OrdersList.as_view(), name='home'),
path('add/', AddOrder.as_view(), name='add')
]
Итак, я собирался создать класс AddOrder для представлений, которые бы принимали значения, отправленные методом POST, добавляли их в базу данных и возвращали orderlist.html
Однако, когда я пытался найтиответы в сети, все это было в файле urls.py, работающем со строками url (), и views.py с одной функцией для каждого представления;в то время как я изучил Django с помощью path () в urls.py и одного класса для каждого представления в views.py, поэтому я так и пробовал, но я не знаю, как это сделать.
РЕДАКТИРОВАТЬ:Я не был достаточно ясен по этому аспекту, но шаблон имеет форму таблицы, которая отправит запрос POST в / add / url.