我有一個這樣的模型:
class Ad(models.Model) :
title = models.CharField(
max_length=200,
validators=[MinLengthValidator(2, "Title must be greater than 2 characters")]
)
price = models.DecimalField(max_digits=7, decimal_places=2, null=True)
text = models.TextField()
# Shows up in the admin list
def __str__(self):
return self.title
像這樣的視圖集:
class AdViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows ad to be viewed or edited.
"""
queryset = Ad.objects.all()
serializer_class = AdSerializer
class AdSerializer(serializers.ModelSerializer):
class Meta:
model = Ad
fields = ['id', 'title', 'price', 'text']
我制作了此處未包含的路由器,因為我認為不需要它來顯示我的問題。
在 Django Rest Framework 中,/api/ads/我可以看到我之前使用 django admin 創建的所有廣告,并在表單下方發布資料,如下所示:

當我單擊表單的 POST 按鈕時,它不會發出 POST 請求,它只是重新加載頁面。我可以從 Firefox 開發工具和服務器日志中確認,沒有發出 POST 請求。
所以我的問題是:如何使這個 POST 按鈕按預期作業,以便我可以檢查我的序列化程式并且一切正常?
編輯:經過測驗,put、patch 和 delete 按鈕也不起作用,他們不發送 put/patch/delete 標題,只是像 post 一樣獲取標題
uj5u.com熱心網友回復:
經過大量研究,我發現問題出在 ublock 起源上。
Ublock origin 阻止瀏覽器在本地主機上發出請求,所以我將其停用,現在它按預期作業。
如果您有同樣的問題,請檢查您的廣告攔截器。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/406577.html
標籤:
