1. 이미지 업로드(동영상, 파일 업로드도 동일)
1) urls.py에 업로드 경로를 등록합니다.
Code Block | ||
---|---|---|
| ||
# urls.py urlpatterns = [ ... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) |
...
Code Block | ||
---|---|---|
| ||
# models.py
import uuid
from django.db import models
# 저장할 파일 이름을 반환합니다.
def get_file_name(instance, filename):
ext = filename.split('.')[-1]
return "%s.%s" % (uuid.uuid4(), ext)
class UploadFile(models.Model):
file = models.FileField(upload_to=get_file_name) |
Code Block | ||
---|---|---|
| ||
# forms.py
from .models import UploadFile
from django import forms
class UploadFileForm(forms.ModelForm):
class Meta:
model = UploadFile
fields = ('file', ) |
Code Block | ||
---|---|---|
| ||
# views.py
from django.http import JsonResponse
from .forms import UploadFileForm
def upload_file(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
uploaded_file = form.save()
data = {'uploadPath': uploaded_file.file.url}
return JsonResponse(data)
|