Как передать значения с POST на Django? - PullRequest
0 голосов
/ 07 мая 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...