我正在創(chuàng)建一個(gè)股票市場(chǎng)網(wǎng)站,并希望在用戶鍵入時(shí)實(shí)時(shí)顯示總購(gòu)買價(jià)值,而不是在表單清理期間顯示錯(cuò)誤。該計(jì)算涉及將兩個(gè)字段相乘。第一個(gè)是數(shù)量字段,它只是用戶輸入的數(shù)字。第二個(gè)是股票,它是外鍵的下拉列表。用戶選擇一只股票,該股票的一個(gè)屬性是價(jià)格。我想將這些字段相乘并在用戶每次更改字段時(shí)顯示結(jié)果。如果可能的話,我也想用模型表格來(lái)做到這一點(diǎn)。我嘗試在模板中使用 {{ form.field.value }} 來(lái)獲取一個(gè)字段,但我無(wú)法讓它更新以進(jìn)行更改。對(duì)于股票字段,我認(rèn)為最好的選擇是在 JavaScript 中創(chuàng)建一個(gè)匹配的數(shù)組,一旦我可以獲得實(shí)時(shí)更新的表單值,就可以將其與數(shù)組中的股票價(jià)格相匹配。這是一個(gè)不是我制作的示例,它接近我想做的基于表單輸入的實(shí)時(shí) Javascript 計(jì)算任何幫助深表感謝!Models.pyclass Stock(models.Model): name = models.CharField(max_length=30, primary_key=True, blank=True) @property def price(): do some calculationsclass Transaction(models.Model): transaction_types = ( ('buy', 'Buy'), ('sell', 'Sell'), ) user = models.ForeignKey(User, on_delete=models.CASCADE) stock = models.ForeignKey(Stock, on_delete=models.CASCADE) transaction_type = models.CharField(max_length=4, choices=transaction_types) quantity = models.BigIntegerField() purchase_price = models.DecimalField(decimal_places=2, max_digits=30) time = models.DateTimeField()Forms.pyclass TransactionForm(forms.ModelForm):class Meta: model = Transaction fields = ['transaction_type', 'stock', 'quantity'] widgets = { 'quantity': forms.NumberInput(attrs={'id': 'quant', 'name': 'quant'}) }
Django 模板中的實(shí)時(shí)表單字段計(jì)算
縹緲止盈
2023-09-21 17:21:43