我有一个表格的模板,它是由javascript动态创建的。然后我希望在<td name="plu"></td>
标签内只使用提交按钮检索并在视图中处理它以将json保存到模型中的CharField中。我尝试在表单中使用带有方法发布和request.POST.get('plu')
的表单标记,但它不会起作用。我想得到这些值,然后用模型方法处理它。
以下是代码的一部分:
@login_required()
def cash_register(request):
"""plus = [123,345,567]
newtrans = Transaction()
newtrans.set_plu_list(plus)
newtrans.save()"""
if request.method == 'POST':
x = request.POST.get('plu', False)
# ???
try:
products = Product.objects.all().values_list('plu_num', 'art_name', 'sales_price_brutto')
products_json = json.dumps(list(products), cls=DjangoJSONEncoder)
except Product.DoesNotExist:
raise Http404('Products cant\'t be found!')
return render(request, 'panel/cash_register.html', {'products_json': products_json})
class Transaction(models.Model):
plu_list = models.CharField(max_length=255)
transaction_date = models.DateField(auto_now_add=True)
is_ksk = models.BooleanField(default=False)
ksk_num = models.IntegerField(null=True)
def set_plu_list(self, x):
self.plu_list = json.dumps(x)
def get_plu_list(self):
return json.loads(self.plu_list)
答案 0 :(得分:1)
这不是你能做的事情。 <td>
个元素不是表单字段;你不能“提交”它们。
如果要将值提交到后端,则必须使用实际的表单输入,或使用Ajax发送数据。