최신글
hyeonga_code
파이선 웹구축_장고_14_테이블 이미지 업로드 본문
반응형
- 테이블 이미지값
1. 기본 설정값 <config> > 'settings.py'
'settings'
=====
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
TEMPLATES = [ 'DIRS': [BASE_DIR/'templates'] ]
INSTALLED_APPS = [ 'fname.apps.FnameConfig' ]
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR/"media"
#_ path와 dirs 설정 혼합
'''
static(A,B)
A로 시작하는 요청인지 B에서 파일을 찾겠다
B(폴더)에서 A파일을 찾을 것
A = /media/
B = BASE_DIR/media
어떤 사진이든 url 추가하지 않아도 불러올 수 있음
'''
|
cs |
2. 경로 설정 <config> > 'urls.py'
'urls.py'
=====
1
2
3
4
5
6
7
8
9
10
|
from django.contrib import admin
from django.urls import path,include
from django.conf.urls.static import static
from . import settings
urlpatterns = [
path('admin/', admin.site.urls),
path('fname/' , include('fname.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
cs |
3. index 함수 설정 <fname> > 'views.py'
'views.py'
=====
1
2
3
4
5
6
7
8
9
10
|
from django.shortcuts import render
from .models import Fclass
def index(request):
f = Fclass.objects.all()
context={
'f' : f
}
return render(request,'fname/index.html', context)
|
cs |
4. index 함수 경로 설정 <fname> > 'urls.py'
'urls.py'
=====
1
2
3
4
5
6
|
from django.urls import path
from . import views
urlpatterns=[
path('index/', views.index, name='index' ),
]
|
cs |
5. 테이블 값 설정 <fname> > 'models.py'
'models.py'
=====
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
from django.db import models
class Fclass(models.Model):
c_name = models.CharField(max_length=100)
c_code = models.IntegerField()
c_content = models.TextField()
c_img = models.ImageField(upload_to='media/%y')
#_ static 설정 후에 작업해야 함
#_ MEDIA_ROOT와 연관되어 있음
#_ 연도별로 폴더가 생성되어 저장됨
def __str__(self):
return self.c_name
def getimg(self):
if self.img:
return self.img.url
return 'media/noimage.png'
|
cs |
>> 마이그레이션
#_ 오류 발생시 pip install Pillow 설치해야 함
6. index 페이지 작성 <fname> > 'index.html'
'index.html'
=====
1
2
3
4
5
6
7
|
<h1><b>Index Main Page</b></h1>
{% for i in f %}
<img src ='{{i.getimg}}'><br>
{{i.id}} : {{i.c_name}} <br><br><br>
{% endfor %}
|
cs |
7. 관리자 생성 <fname> > 'admin.py'
'admin.py'
=====
1
2
3
4
5
|
from django.contrib import admin
from .models import Fclass
admin.site.register(Fclass)
|
cs |
>> 실행
>> 레코드 추가
반응형
'Python_Django' 카테고리의 다른 글
파이선 웹구축_장고_16_계정 로그아웃 페이지 (0) | 2023.06.08 |
---|---|
파이선 웹구축_장고_15_계정 로그인 페이지 (0) | 2023.06.07 |
파이선 웹구축_장고_13_테이블 데이터 삭제 (0) | 2023.06.05 |
파이선 웹구축_장고_12_테이블 데이터 추가 (0) | 2023.06.04 |
파이선 웹구축_장고_11_테이블 데이터 수정 기능 (0) | 2023.06.03 |