我如何在django-form中实现这个?2/3:2是物料的当前领料量,3是最大值此表单不适用于模型,单击后将发送数据到redis服务器那么,我如何在- n/N +下隐藏窗体
yyhrrdl81#
第1001章:我的models.py
class Demo(models.Model): name =models.CharField(max_length=200) total_img = models.IntegerField(default=0) photo = models.ImageField(upload_to = 'Images',blank=True,null=True)
第1001章:我的form.py
class DemoForm(forms.ModelForm): class Meta: model = Demo fields = "__all__"
{% load static %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title> </title> </head> <body > <p>{{form.name.label}}{{form.name}}</p> <p> {{form.total_img.label}} <a style="background-color: #ffb3b3; padding: 5px; border: 1px solid black; cursor: pointer; " onclick="dec()">-</a> {{form.total_img}} <a style="background-color: #b3ffb3; padding: 5px; border: 1px solid black; cursor: pointer;" onclick="inc()">+</a> </p> <p>{{form.photo.label}}{{form.photo}}</p> <script> function inc() { let number = document.querySelector('[name="total_img"]'); if (number.value > parseInt(2)){ alert("You can increase up to 3") } else { number.value = parseInt(number.value) + 1; console.log(number.value); } } function dec() { let number = document.querySelector('[name="total_img"]'); if (parseInt(number.value) > 1) { number.value = parseInt(number.value) - 1; } else { alert("You can decrease up to 1") } } </script> </body> </html>
rdrgkggo2#
考虑一下:django.forms import widgets, inlineformset_factory根据您的用例,这将是有价值的,但它取决于您如何定义您的代码。
django.forms import widgets, inlineformset_factory
2条答案
按热度按时间yyhrrdl81#
在此我尝试解决您的要求
第1001章:我的models.py
第1001章:我的form.py
以Html格式呈现表单
输出变成这样
注意-这里我为handle +和-按钮编写了javascript。按钮的工作方式是指向数字输入的名称
rdrgkggo2#
考虑一下:
django.forms import widgets, inlineformset_factory
根据您的用例,这将是有价值的,但它取决于您如何定义您的代码。