Ошибка: «405 Client Error: Method Not Allowed» при подключении к IPFS с помощью ipfshttpclient в проекте Django

Я работаю над проектом Django, в котором использую IPFS для хранения и получения файлов. Однако при попытке использовать библиотеку ipfshttpclient (или ipfsapi) для подключения к демону IPFS я сталкиваюсь с проблемой.

Когда я запускаю команду migrate в своем проекте Django, я получаю следующую ошибку:

405 Ошибка клиента: Метод не разрешен для url: http://localhost:5001/api/v0/version?stream-channels=true

Вот фрагмент моего кода, в котором возникает проблема:

Views.py

models.py

from django.db import models
from django.contrib.auth.models import AbstractUser
import datetime
from django.contrib.postgres.fields import ArrayField

def teacherID():
    t_id = 'TEA-1'
    try:
        prev = CustomUser.objects.values('teacher_id').last()
        prev = prev['teacher_id']
        number = prev.split('-')[1]
        number=int(number)+1
        t_id = 'TEA-'+str(number)
    except:
        t_id='TEA-1'
    return t_id

ROLE = (
    ('teacher','teacher'),
    ('coe','coe'),
    ('superintendent','superintendent')
)
SEM = (
    ('None','None'),
    ('I','I'),
    ('II','II'),
    ('III','III'),
    ('IV','IV'),
    ('V','V'),
    ('VI','VI'),
    ('VII','VII'),
    ('VIII','VIII')
)
BRANCH = (
    ('None','None'),
    ('CSE','CSE'),
    ('IT','IT'),
    ('ECE','ECE'),
    ('EEE','EEE'),
    ('MECH','MECH'),
    ('BioTech','BioTech')
)
SUB = (
    ('None','None'),
    ('Compiler Design','Compiler Design'),
    ('Digital Signal Processing','Digital Signal Processing'),
    ('Cloud Computing','Cloud Computing'),
    ('Agile Development','Agile Development')
)
STATUS = (
    ('Pending','Pending'),
    ('Accepted','Accepted'),
    ('Uploaded','Uploaded'),
    ('Finalized','Finalized')
)

class CustomUser(AbstractUser):
    teacher_id = models.CharField(max_length=20,default=teacherID,blank=True)
    course = models.CharField(max_length=4,choices = (('None','None'),('B.E.',"B.E."),('M.E.','M.E.')),default='None')
    semester = models.CharField(max_length=4,choices = SEM, default='None')
    branch = models.CharField(max_length=40,choices=BRANCH,default='None')
    subject = models.CharField(max_length=30,choices=SUB,default='None')
    role = models.CharField(max_length=20,choices = ROLE, default='teacher')

    def __str__(self):
        return self.username

class Request(models.Model):
    tusername = models.CharField(max_length=40,default='None')
    s_code = models.CharField(max_length=7,default="None")
    syllabus = models.FileField(default=None)
    q_pattern = models.FileField(default=None)
    deadline = models.DateField(default=datetime.date.today)
    status = models.CharField(max_length=10,default='Pending')
    enc_field = ArrayField(models.BinaryField(max_length=500,default=None),default=list)
    private_key = models.FileField(default=None)

    def __str__(self):
        return self.tusername

class FinalPapers(models.Model):
    s_code = models.CharField(max_length=7,default="None")
    course = models.CharField(max_length=4,default='None')
    semester = models.CharField(max_length=4,default='None')
    branch = models.CharField(max_length=40,default='None')
    subject = models.CharField(max_length=30,default='None')
    paper = models.FileField(default=None)

    def __str__(self):
        return self.s_code

class SubjectCode(models.Model):
    s_code = models.CharField(max_length=7)
    subject = models.CharField(max_length=40)

    def __str__(self):
        return self.subject

Вот изображение моего работающего демона

Шаги, предпринятые на данный момент:

Убедитесь, что демон IPFS запущен, посетив сайт http://localhost:5001/webui. Веб-интерфейс загружается успешно.

Проверил версию демона IPFS с помощью ipfs --version. Моя текущая версия - 0.32.1.

Обновление библиотеки ipfshttpclient до последней версии (pip install --upgrade ipfshttpclient).

Вопросы:

Почему демон IPFS возвращает ошибку 405 Method Not Allowed для конечной точки /version?

Как правильно настроить проект Django и интеграцию с IPFS, чтобы решить эту проблему?

Существует ли конкретная проблема совместимости между библиотекой ipfshttpclient и моей версией демона IPFS?

Сведения об окружающей среде:

Хост ОС: Windows (через WSL2)

WSL OS: Ubuntu 20.04

Версия Python: 3.8

Django Version: 3.2

ipfshttpclient Версия: 0.4.13.2 (устанавливается через pip)

IPFS Daemon Version: 0.32.1

Я никогда не работал с этими технологическими стеками, и этот проект клонирован из репозитория github. Пожалуйста, дайте мне знать, если требуется любая другая информация

Вернуться на верх