我想覆盖 django ImageField 的上传行为,以便在上传到某个 url 后,文件将被添加到 ipfs 节点。
例如,我的模型是这样的:
class Profile(models.Model):
picture = models.ImageField(upload_to=upload_location, blank=True)
我首先尝试像保存任何其他图像一样保存它,然后我给它一个 IPFS 哈希,这将允许用户加载数据客户端。
在我看来,我有以下代码来运行 ipfs 守护程序的实例。
import ipfsapi
from subprocess import call
os.system("ipfs daemon")
api = ipfsapi.connect('127.0.0.1', 5001)
但是,当我尝试运行python manage.py makemigrations
orrunserver
时,守护程序会运行,但命令的其余部分不会。
Initializing daemon...
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/174.56.29.92/tcp/4001
Swarm listening on /ip4/192.168.1.109/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready
如何启动 ipfs 守护进程和 django 服务器?看起来他们没有在同一个端口(Django 8000、IPFS 8080)上监听,那么为什么我会遇到这个问题呢?