загрузка сохраняемых файлов с файлом io - PullRequest
0 голосов
/ 03 сентября 2018

Я написал представление, которое сохраняет мой файл в хранилище и сохраняет его в базе данных, и я хочу передать путь к файлу для загрузки, но у меня проблема. Моя функция просмотра:

def xmlFile(request):
all = request.POST
data = dict(all)
username = User.objects.get(username=request.user)
xml = xmlFirst.dataToXml(data)
with open('web/data/Fuzzy'+ str(username.username)+'1.xml','w') as myfile:
    myfile.write(xml)
    xmlFile = XmlFile(username= username, upload='Fuzzy'+ str(username.username)+'1.xml',filename='Fuzzy'+ str(username.username)+'1.xml')
    xmlFile.save()
xmlLink = XmlFile.objects.first()
a = xmlLink.upload.path
context = {'data':a}
return render(request, 'xmlFile.html', context) 

мои настройки:

MEDIA_URL = '/data/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'data')

мой шаблон xmlFile.html

<!DOCTYPE html>
<html>
<body>
    <a href="{{MEDIA_URL}}{{data}}" download="FuzzyMirab1.xml">{{data}}</a>
</body>
</html>

и мои модели:

class XmlFile(models.Model):
id = models.AutoField(primary_key=True)
username = models.ForeignKey(User)
filename = models.CharField(max_length=1000, default="")
upload = models.FileField(upload_to="data", default="")

def __unicode__(self):
    return "{}, {}".format(self.username, self.filename)

и когда я нажимаю на него, он переходит на http://localhost:8000/home/yelesee/Desktop/Mirab/Mirab/data/FuzzyMirab1.xml

как я могу это исправить.

мне нужно отредактировать MEDIA_ROOT = '/ data /' и отправляет исправляет root в localhost: 8000 / data / FuzzyMirab1.xml но он говорит, что файл не найден

...