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
またはを実行しようとするとrunserver
、デーモンは実行されますが、残りのコマンドは実行されません。
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) でリッスンしているようには見えないのに、なぜこの問題が発生するのでしょうか?