1. 이미지 업로드(동영상, 파일 업로드도 동일)
Code Block | ||
---|---|---|
| ||
# 프로젝트 urls.py
urlpatterns = [
...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) |
Code Block | ||
---|---|---|
| ||
# 앱 modelsurls.py from django.urls import uuidpath from django.db import models # 저장할 파일 이름을 반환합니다. def get_file_name(instance, filenameviews urlpatterns = [ ... path('uploadFile/', views.upload_file, name='upload_file'), ... ] |
Code Block | ||
---|---|---|
| ||
# 앱 views.py from django.http import JsonResponse from .forms import UploadFileForm def upload_file(request): extif request.method == filename.split('.')[-1]POST': return "%s.%s" % (uuid.uuid4(), ext) class UploadFile(models.Model):form = UploadFileForm(request.POST, request.FILES) if form.is_valid(): uploaded_file = modelsform.FileField(upload_to=get_file_name)save() data = {'uploadPath': uploaded_file.file.url} return JsonResponse(data) |
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앱 models.py import uuid from django.httpdb import models JsonResponse from# .forms저장할 import파일 UploadFileForm이름을 반환합니다. def uploadget_file(request_name(instance, filename): if request.methodext == filename.split('POST':.')[-1] return form = UploadFileForm(request.POST, request.FILES"%s.%s" % (uuid.uuid4(), ext) if form.is_valid(): class UploadFile(models.Model): uploaded_file = formmodels.save() data = {'uploadPath': uploaded_file.file.url} return JsonResponse(data) FileField(upload_to=get_file_name) |