Я загружаю файл в папку мультимедиа в Django, используя кнопку обзора. Мне нужно получить путь к этому файлу в моем локальном хранилище - PullRequest
1 голос
/ 02 июня 2019

Я пытаюсь загрузить папку, используя каталог webkit, в папку media в django. Поскольку мы не можем напрямую скопировать каталог в папку media (я думаю, что мы делаем это при загрузке файла), для этого я ' я пытаюсь использовать shutil.copytree (), чтобы полностью скопировать каталог на носитель из моего локального хранилища и перетащить отдельные пути к файлам и сохранить их в базе данных. Для этого shutil.copytree () требует ввод пути к файлу и как получить его из webkitdirectory. Я пытался загрузить один файл .... Я не могу получить путь к файлу даже

это моя форма

{% load static %}

{% block content %}
<form method="post" enctype="multipart/form-data">
 {% csrf_token %}
<input type="file"  name="myfile">
<button type="submit">Upload</button>
</form>

{% if uploaded_file_url %}
  <p>File uploaded at: <a href="{{uploaded_file_url }}"> 
{{uploaded_file_url 
}}</a></p>
{% endif %}

 <p><a href="{% url 'timelinemethod' %}">Return to home</a></p>
 {% endblock %}

это мой взгляд myfile - это объект файла после публикации, он отображает путь к файлу из папки мультимедиа, но мне нужен путь в локальном хранилище как c: // .... (так что в случае папки I можно скопировать весь каталог, используя shutil.copytree ())

def simple_upload (запрос):

if request.method == 'POST' and request.FILES['myfile']:
    myfile = request.FILES['myfile']
    fs = FileSystemStorage()
   # f=open(myfile)
    #print("hai",f.name())
    filename = fs.save(myfile.name, myfile)
    print(myfile)
    import shutil
   # shutil.copytree(myfile,"./media/",myfile)
    print("okay")
    print("hello",inspect.getfile(inspect.currentframe()))
    print("ok",myfile.name)
    print("not ok",myfile)
    uploaded_file_url = fs.url(filename)
   # print(uploaded_file_url.parts)
    print(uploaded_file_url)
    print("hello")        #import os
   # k=os.path.dirname(os.path.abspath(myfile))
   # print(k)
    obj= Document( document=uploaded_file_url)
    obj.save()
    return render(request, 'simple_upload.html', {
        'uploaded_file_url': uploaded_file_url
    })
return render(request, 'simple_upload.html')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...