在 Django Admin 中创建实例时,我在终端中收到 'Broken pipe' 消息。该实例可以在 Django Admin 中看到,一切似乎都很好。这是我可以忽略的还是我的模型有问题?
models.py
from django.db import models
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from mptt.models import MPTTModel, TreeForeignKey
class Category(MPTTModel):
name = models.CharField(
verbose_name=_("Category"),
max_length=255,
unique=True,
)
slug = models.SlugField(verbose_name=_("Category URL"), max_length=255, unique=True)
parent = TreeForeignKey("self", on_delete=models.CASCADE, null=True, blank=True, related_name="children")
class MPTTMeta:
order_insertion_by = ["name"]
class Meta:
verbose_name = _("Category")
verbose_name_plural = _("Categories")
def get_absolute_url(self):
return reverse("store:category_all", args={self.slug})
def __str__(self):
return self.name
class Product(models.Model):
category = models.ForeignKey(Category, on_delete=models.RESTRICT)
title = models.CharField(
verbose_name=_("title"),
max_length=255,
)
description = models.TextField(verbose_name=_("description"), blank=True)
slug = models.SlugField(max_length=255)
price = models.DecimalField(
verbose_name=_("Price"),
max_digits=5,
decimal_places=2,
)
created_at = models.DateTimeField(_("Created at"), auto_now_add=True, editable=False)
updated_at = models.DateTimeField(_("Updated at"), auto_now=True)
class Meta:
verbose_name = _("Product")
verbose_name_plural = _("Products")
def get_absolute_url(self):
return reverse("store:prod_details", args=[self.slug])
def __str__(self):
return self.title
终端
[03/Jul/2021 12:29:24] "POST /admin/store/category/add/ HTTP/1.1" 302 0
[03/Jul/2021 12:29:24] "GET /admin/store/category/ HTTP/1.1" 200 8094
[03/Jul/2021 12:29:24] "GET /admin/jsi18n/ HTTP/1.1" 200 3195
[03/Jul/2021 12:29:24] - Broken pipe from ('127.0.0.1', 67866)
最佳答案
看完这篇Django Ticket和几个堆栈溢出的答案,我知道当浏览器发送请求但不等待响应并关闭连接时会发生 'broken pipe'
错误。
就我而言,我的 React 应用在发送请求后立即重新加载页面。我只是放了 preventDefault();
来防止应用刷新并监听响应。
无论您使用什么堆栈,请确保您的应用可以接受来自服务器的响应。
关于python - Django 断管消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68234571/