我尝试与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')
]
因此,我要在将采用通过POST方法发送的值的视图上创建AddOrder类,将它们添加到数据库中,然后返回orderlist.html
但是,当我尝试在网上查找答案时,全部都在使用url()行的urls.py文件中,每个视图都具有一个功能的views.py;而我是通过urls.py上的path()和views.py上每个视图的一个类学习Django的,所以这是我尝试的方法,但我不知道该怎么做。
编辑:在这方面我还不够清楚,但是模板在表上有一个表单,该表单会将POST请求发送到/ add / url。