Моему приложению необходимо загружать разные изображения профиля в разные папки внутри статической папки. Еще одна вещь, я не использую модели, я просто хочу сделать снимок, который я выбираю во входном html-файле, и скопировать в определенную папку.
Вот мое дерево папок. Где я хочу сохранить загруженное изображение, так это в MYPROJECTFOLDER/static/profile/<TheUserSpecificFolder>/
, где я не хочу использовать MEDIA_ROOT
, потому что в корне мультимедиа я не могу создать отдельную папку для каждого пользователя. (не знаю, правильно ли это, если есть способ создать для каждого пользователя в папке /media/ конкретную папку без использования ImageField
или FileField
, подскажите пожалуйста).
Вот мое дерево папок:
MYPROJECTFOLDER
|
|------myproject/
|
|------myapp/
|
|------static
| |-------profile
| |------folder_user1
| |------ uploadedpicture.jpg #Here is where I want to upload
| |------folder_user2
Вот мой uploadpic.html
<form action="{% url 'upload' %}" enctype="multipart/form-data" method="POST">
{% csrf_token %}
<input type="file" name="avatar" accept="image/gif, image/jpeg, image/png">
<button type="submit">Upload</button>
</form>
Вот мой views.py
from django.shortcuts import render, HttpResponse, redirect
from . import forms
import os
def upload(request):
img = request.FILES['avatar']
#This just create the folder where I want to save the image.
if not os.path.exists('static/profile/' + str(request.session['user_id'])):
os.mkdir('static/profile/' + str(request.session['user_id']))
#NOW HERE IS WHERE I WANT TO WRITE THE CODE THAT SAVE THE IMAGE INTO THE FOLDER I JUST CREATED
return redirect('companyedit')