본문 바로가기

Django45

[Django] 사진 CRUD(1) - 기본 세팅 기본 세팅 📌 가상 환경 실행 후, Django project 실행 django-admin startproject config . 📌 'gal' app 생성 및 등록 ① 'gal' app 생성. python manage.py startapp gal ② 'gal' app 등록. (config/settings.py) ... INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'gal.apps.GalConfig' ] ... 📌 url 분리 ①.. 2022. 12. 20.
[Django] DB 가져와서 CRUD(7) - 데이터 수정하기(U) 데이터 수정하기 📌 상세 페이지에 수정 버튼 생성 ① detail.html에 버튼 생성. (detail.html) DETAIL PAGE {{ b.name }} 지은이 조회수 내용 {{ b.content }} HOME MOD DEL ② urls.py에 path 추가. (books/urls.py) from django.urls import path from . import views urlpatterns = [ path('index/', views.index, name="index"), path('detail/', views.detail, name="detail"), path('delete/', views.delete, name="delete"), path('create/', views.create, nam.. 2022. 12. 19.
[Django] DB 가져와서 CRUD(6) - 데이터 추가하기(C) 데이터 추가하기 📌 index 페이지에 데이터 추가 버튼 생성. ① index.html에 버튼 생성. (index.html) INDEX PAGE CREATE ... ② urls.py에 path 추가. (books/urls.py) from django.urls import path from . import views urlpatterns = [ path('index/', views.index, name="index"), path('detail/', views.detail, name="detail"), path('delete/', views.delete, name="delete"), path('create/', views.create, name="create"), ] ③ views.py에 함수 추가. (bo.. 2022. 12. 19.
[Django] 데이터 전송 방식과 Form 태그 데이터 전송 방식 📌 데이터 전송 방식 ① GET : URL로 정보 전달. (? : 데이터 전송 시작, & : 데이터 연결) 외부로 노출되기 때문에, 민감한 데이터, 다량의 데이터(URL 길이 제한) 전송에 부적절함. ② POST : HTTP Body에 정보 전달. Form 태그 📌 Form 태그 : 데이터 전송을 할 때 사용하는 태그. 📌 주요 속성 ① action : 어디로 전달할 것인지. ② method : 어떤 방식으로 전달할 것인지. 📌 데이터 전송 조건 ① form 태그 안에 존재해야 함. ② name이라는 속성이 있어야 함. 💡 {% csrf_token %} : Django에서는 CSRF(Cross Site Request Forgery) 공격을 감지하기 떄문에, {% csrf_token %}.. 2022. 12. 19.
[Django] DB 가져와서 CRUD(5) - 데이터 삭제하기(D) 데이터 삭제하기 📌 상세 페이지에 삭제 버튼 추가 ① detail.html에 버튼 생성 (detail.html) DETAIL PAGE {{ b.name }} 지은이 조회수 내용 {{ b.content }} HOME DEL ② urls.py에 path 추가 (books/urls.py) from django.urls import path from . import views urlpatterns = [ path('index/', views.index, name="index"), path('detail/', views.detail, name="detail"), path('delete/', views.delete, name="delete") ] ③ views.py에 함수 추가 (books/views.py) fro.. 2022. 12. 19.
[Django] render와 redirect render 📌 render(request) : templates 불러옴. 해당 페이지의 화면이 별도로 필요할 때 사용. redirect 📌 redirect(별칭) : 사용자의 요청을 받아 다시 별칭으로 요청 보내게 함.(URL로 이동) 해당 페이지의 화면이 별도로 필요하지 않을 때 사용. 해당 URL에서 처리하기에 자연스러운 함수가 아닐 때 사용. 2022. 12. 19.
[Django] DB 가져와서 CRUD(4) - 상세 페이지 만들기(R) 상세 페이지 만들기 📌 index.html에서 title 클릭하면, 각 title별 상세 페이지로 넘어가도록 ① index.html에 url 추가 (templates/books/index.html) ... {% for i in bset %} {{ forloop.counter }} {{ i.name }} {{ i.writer }} {{ i.hit }} {% empty %} NO DATA {% endfor %} ② books/urls.py에 path 추가 (books/urls.py) from django.urls import path from . import views urlpatterns = [ path('index/', views.index, name="index"), path('detail/', vie.. 2022. 12. 19.
[Django] url 별칭 url 별칭 📌 url 별칭 ① name (urls.py) from django.urls import path from . import views urlpatterns = [ path('index/', views.index, name="index"), path('detail/', views.detail, name="detail") ] ② {% url 'name' 넘겨줘야할 값(생략 가능) %} (index.html) NO SUBJECT WRITER HIT {% for i in bset %} {{ forloop.counter }} {{ i.subject }} // 별칭 사용. 넘겨줘야 할 것은 옆에 명시. {{ i.writer }} {{ i.hit }} {% empty %} NO DATA {% endfor.. 2022. 12. 19.