바뀜

둘러보기로 가기 검색하러 가기
1,488 바이트 추가됨 ,  2023년 5월 16일 (화) 21:36
새 문서: == 개요 == 파일 업로드 및 다운로드의 기능을 다룬다. 올려진 파일은 media 하위에 저장한다. === 전제조건 === * 미디어 사용을 위한 URL경로...
== 개요 ==
파일 업로드 및 다운로드의 기능을 다룬다.

올려진 파일은 media 하위에 저장한다.

=== 전제조건 ===

* 미디어 사용을 위한 URL경로와 디렉토리 지정. 다음 [http://id8436.iptime.org:2786/mediawiki/index.php/1._%EC%9E%A5%EA%B3%A0_%EB%AF%B8%EB%94%94%EC%96%B4_%EA%B0%9C%EC%9A%94 문서]를 참고하자.

* 확장 가능성 : django-storages 라이브러리를 사용하면, Amazon S3, Google Cloud Storage 등의 외부 스토리지에 저장 가능.

== 모델 ==
<syntaxhighlight lang="python">
from django.db import models

class FileUpload(models.Model):
title = models.TextField(default=None)
file = models.FileField('첨부 파일', upload_to='uploads/%Y/%m/%d') # media 하위의 upload/ 하위에 년,월,일로 저장한다는 의미.

def __str__(self):
return self.title
</syntaxhighlight>파일을 정규표현식을 이용해 저장경로를 설정할 수 있다. 년월일로 저장하는 등 방식으로 저장하면 사람이 찾긴 힘들어지지만, 컴퓨터의 검색 속도는 더욱 빨라진다.

== 폼 ==
<syntaxhighlight lang="python">
from djangoimport forms
from .models import FileUpload

class DocumentForm(forms.ModelForm)
upload = forms.FileField(label='첨부 파일', required=False,
widget=forms.FileInput(attrs={'class': 'form'}))

class Meta:
model = Document
exclude = ['attached']
</syntaxhighlight>
[[분류:5. 장고 미디어]]

둘러보기 메뉴