Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

1. 이미지 업로드(동영상, 파일 업로드도 동일)

Code Block
languagepy
# 프로젝트 urls.py
urlpatterns = [
	...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


Code Block
languagepy
# 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
languagepy
# 앱 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
languagepy
# forms.py
from .models import UploadFile
from django import forms

class UploadFileForm(forms.ModelForm):
    class Meta:
        model = UploadFile
        fields = ('file', )


Code Block
languagepy
# 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)