본문 바로가기

Django/Django note5

[Django note] #5 내가 보려고 만드는 장고 노트(썸네일 구현) 썸네일을 구현하기 위해 media를 올릴 수 있게 먼저 만들어주자. 복습 겸 media 구현하는 과정 1. views.py에 모델을 만들자 #views.py class Pictures(models.Model): text=models.TextField() img=models.ImageField(upload_to='blogimg') 2. settings.py에서 미디어 url, root 설정 #settings.py MEIDA_URL = 'media' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 3. urls.py에 settings와 static 임포트하고, 경로 병렬적으로 추가 #urls.py from django.conf import settings from django.. 2020. 7. 22.
[Django note] #4 내가 보려고 만드는 장고 노트(소셜 로그인 구현) 1. pip install django-allauth로 allauth 설치 2. settings.py에 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.sites', #얘 추가 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'matapp.apps.MatappConfig', #allauth 추가 'allauth', 'allauth.account', 'allauth.socialaccount', #provider : 소셜 로그인을 제공해주는 업체(ex 카카.. 2020. 7. 20.
[Django note] #3 내가 보려고 만드는 장고 노트 - update 함수, 수정 기능 (전 내용이 보이게 하기) 멋사 장고 강의를 듣고 update 함수를 정의하면서, '왜 수정이라면서 그냥 새 글쓰는거랑 똑같은 빈 창이 나올까..'라는 생각을 했는데, 정말 감사하게도 운영진님이 내 생각을 알아채시고 먼저 알려주셨다.....😭😭👍👍 감사합니다감사합니다감사합니다... 내 코드(수정 페이지를 보면 입력공간에 아무 것도 없이 나옴) def update2(request, pk): portfolio = get_object_or_404(Portfolio, pk=pk) modify = NewPort(request.POST, request.FILES, instance=portfolio) if modify.is_valid(): modify.save() return redirect('portfolio') return render(r.. 2020. 7. 17.
[Django note] #2 내가 보려고 만드는 장고 노트 (템플릿 상속, url 계층적 관리) 템플릿 상속 1. 프로젝트 폴더 안에 templates폴더를 만들고 그 안에 base.html 만들기 중복되는 내용도 채워넣기 2. settings.py에 base.html의 위치를 알려주기 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['프로젝트 이름/templates'], 'APP_DIRS': True, ... 3. base.html에 내용이 들어갈 부분을 알려주기 {%block contents%} {%endblock%} #block contents에서 'contents'는 바꿔쓸 수 있다. (title, sidebar 등등..) 4. 내용에 해당하는 html로 가서 {%extends 'bas.. 2020. 7. 16.
[Django note] #1 내가 보려고 만드는 장고 노트(static과 media) static 1. 앱 폴더 안에 static 폴더 만들기 2. settings.py에 static파일이 지금 어디에 있는지, 어디로 모을지 알려주기 #settings.py STATICFILES=[ os.path.join(BASE_DIR, '앱 이름', 'static') ] #현재 static파일들이 어디에 있는지 STATIC_ROOT=os.path.join(BASE_DIR, 'static') #static 파일을 어디로 모을지 3. static파일들을 모아주기 명령어: python manage.py collectstatic 4. html문서에서 static 파일 사용하기 맨 위에 {%load static%} 써주기 #궁금한거 : 템플릿 태그, 템플릿 변수 차이점... Media *pip 패키지 pillo.. 2020. 7. 14.