
<!-- articles/index.html -->
{% load static %}
<link rel="stylesheet" href="{% static 'stylesheets/style.css' %}">'static/')<!-- articles/index.html -->
<img src="{% static 'images/sample-1.png' %}" alt="sample image"># settings.py
STATICFILES_DIRS = [
BASE_DIR / 'static',
]<!-- articles/index.html -->
<img src="{% static 'sample-2.png' %}" alt="sample image">ImageField()class Article(models.Model):
image = models.ImageField(upload_to='images/', blank=True)MEDIA_ROOT = BASE_DIR / 'media'
MEDIA_URL = 'media/'from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('articles/', include('articles.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)<h1>CREATE</h1>
<form action="{% url 'articles:create' %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form }}
<input type="submit">
</form>def create(request):
if request.method == 'POST':
form = ArticleForm(request.POST, request.FILES)
...{% if article.image %}
<img src="{{ article.image.url }}" alt="image">
{% endif %}<!-- articles/update.html -->
<h1>UPDATE</h1>
<form action="{% url 'articles:update' article.pk %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form }}
<input type="submit">
</form># articles/views.py
def update(request, pk):
article = Article.objects.get(pk=pk)
if request.method == 'POST':
form = ArticleForm(request.POST, request.FILES, instance=article)
...날짜를 이용한 경로 구성
class Photo (models.Model):
# 2100년 1월 1일에 업로드하면 '2100/01/01/' 폴더에 저장됨
image = models.ImageField(blank=True, upload_to='%Y/%m/%d/')%Y: 4자리 연도, %m: 2자리 월, %d: 2자리 일함수를 이용한 동적 경로 생성
def articles_image_path(instance, filename):
# instance.user.username을 통해 게시글 작성자의 이름을 가져옴
# 예: 'images/ssafy_user/my_photo.jpg' 와 같은 경로를 반환
return f'images/{instance.user.username}/{filename}'
class Article(models.Model):
user = ...
image = models.ImageField(blank=True, upload_to=articles_image_path)instance: 파일이 첨부된 모델의 인스턴스 (해당 게시글 객체 등)filename: 업로드 된 파일의 원본 이름 # 경로 생성 함수 정의AWS (Amazon Web Services)
AWS 핵심 서비스 3가지
| 서비스 | 역할 | 설명 |
|---|---|---|
| EC2 | 가상 서버 | 클라우드에 생성하는 고성능 컴퓨터 |
| 53 | 파일 저장소 | 이미지, 동영상 등 모든 파일을 보관하는 객체 스토리지 |
| RDS | 데이터베이스 | 데이터를 체계적으로 관리하는 관계형 데이터베이스 |
EC2, S3, RDS를 활용한 웹 서비스 구축
클라우드 컴퓨팅 플랫폼을 사용하는 이유