我在 Django 中制作了這個表格,它需要一些資料,當點擊保存按鈕時,它會將它保存到資料庫中。它存盤我提供的資料,但我注意到每次重繪 包含表單的頁面時,它都會自動保存一個物件,其中 Id 為 none,所有值都設定為 null。我想知道如何撰寫一個函式,該函式表示表單僅在單擊保存提交按鈕時提交到資料庫,而不是在重新加載頁面并在資料庫中創建虛擬物件時提交。
uj5u.com熱心網友回復:
我認為這里的問題在于視圖,更具體地說,是您如何處理視圖內的請求。似乎無論請求方法是什么,您都在保存物件,這就是為什么即使重繪 頁面也會保存一個新物件。
uj5u.com熱心網友回復:
您必須在表單中添加 csrf_token!
如下例所示...
你寫在檔案html
<form method="post">
{% csrf_token %}
<input name="plan" id="id_plan" value="1">
<button>buy</button>
</form>
你寫在models.py
class Account(models.Model):
user = models.OneToOneField(djangoUser, on_delete=models.CASCADE, verbose_name=_('User'))
你寫在 views.py
class testviews(TemplateView):
model: Account
def forms_valid(self, form):
user = Account.objects.filter(user=self.request.user)
user.save()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/363677.html
