私のアプリは、静的フォルダー内のさまざまなフォルダーにさまざまなプロファイル画像をアップロードする必要があります。もう1つ、私はモデルを使用していません.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')