我如何在 django-form 中實作這個?
2/3: 2是當前選擇的item數量, 3是最大值
這個表單不支持模型,點擊后會發送資料到redis服務器
所以,如何隱藏表單下 - n/N

uj5u.com熱心網友回復:
在這里,我試圖解決您的要求
模型.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)
表格.py
class DemoForm(forms.ModelForm):
class Meta:
model = Demo
fields = "__all__"
在 Html 中呈現表單
{% 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>
輸出變成這樣

注意 - 在這里,我為句柄 和 - 按鈕撰寫了 javascript。按鈕通過定位數字輸入的名稱來作業
uj5u.com熱心網友回復:
考慮看一下:
django.forms import widgets, inlineformset_factory
根據您的用例,這將是有價值的,但這取決于您如何定義代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/531286.html
標籤:htmlpython-3.xdjangodjango-forms
