본문 바로가기

분류 전체보기361

[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.
[Django] <var> 📌 : url을 나타낼 때, 변수처럼 사용 가능. (urls.py) from django.urls import path from . import views urlpatterns = [ path('index/', views.index) ] → index/ 는 의 값에 따라 index/123, index/234, index/345 등으로 바뀜. (views.py) from django.shortcuts import render from .models import Board # Create your views here. def index(request, var): print(var) b = Board.objects.all() context = { "bset" : b } return render(request,.. 2022. 12. 19.
[Django] DB 가져와서 CRUD(3) - DB 읽고 화면에 출력하기(R) DB 읽고 화면에 출력하기 📌 index.html에 표 띄우기 (books/views.py) from django.shortcuts import render from .models import Books # Create your views here. def index(request): b = Books.objects.all() context = { "bset" : b } return render(request, "books/index.html", context) (templates/books/index.html) INDEX PAGE NO TITLE WRITER HIT {% for i in bset %} {{ forloop.counter }} {{ i.name }} {{ i.writer }} {{ i.hi.. 2022. 12. 19.