일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- SSAFY
- Javascript
- QuerySetAPI
- react
- SSAFYcial
- VITE
- 데코레이터
- queryset
- 셀프넘버
- git
- 싸피셜
- js
- 싸피
- pwa적용하기
- vitepwa
- 백준
- unionfind
- SQL
- 14658
- 머신러닝종류
- 알고리즘
- 리액트
- sqld
- TypeScript
- Django
- Python
- 플로이드워셜
- db
- PWA
- 싸피10기
- Today
- Total
목록Django (16)
Meme's IT
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nTIdK/btsvXjuFmik/2sdx1KQGejCeGM3iaS9TK0/img.png)
# HTML의 Form 지금까지는 사용자로부터 데이터를 받기위해 HTML 파일에서 form을 사용했다. 하지만 HTML의 form은 비정상적이거나, 악의적인 요청을 필터링할 수 없음 → 유효성 검사가 필요함 # 유효성 검사란? 수집한 데이터가 정확하고 유효한 데이터인지 확인하는 과정 근데, 이걸 우리가 직접 하기엔 입력 값, 형식, 중복, 보안 등 고려할 것이 너무 많다... 그래서 Django가 제공하는 Form을 사용해보자! # Django Form 사용자 입력 데이터를 수집하고, 처리 및 유효성 검사를 수행하기 위한 도구 → 유효성 검사를 단순화하고 자동화 할 수 있는 기능을 제공함 # 써보기 앞에서 했던 게시판 만들기에서 이어서.. 새로운 글을 쓰는 기능을 form을 이용해서 구현해보자 1. ar..
# HTTP란? 네트워크 상에서 데이터를 주고 받기위한 약속 # HTTP request methods 데이터에 어떤 행동을 원하는지를 나타낸것으로 GET과 POST 방식이 있다. ' GET ' Method: 특정 리소스를 조회하는 요청 (보안성이 필요 없음) ' POST ' Method: 특정 리소스에 변경(생성, 수정, 삭제)를 요구하는 요청(보안성이 필수) → CSRF Token # CSRF (Cross Site Request Forgery, 사이트 간 요청 위조) 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여 특정 웹 페이지를 보안에 취약하게 하거나 수정, 삭제 등의 작업을 하게 만드는 공격법 (ex. 위조사이트에서 로그인) - CSRF Token : POST 방식에서는 CSRF를 방..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bKr0sh/btsvDjXehVv/YvDM0e2hgOBHiDmMPKlqV1/img.png)
https://memezz.tistory.com/23과 이어집니다. 수정을 구현하기 위해서 필요한 view함수의 갯수 = 2개 사용자 입력 데이터를 받을 페이지를 렌더링하는 edit함수 사용자가 입력한 데이터를 받아 DB에 저장하는 update함수 # edit함수 1. urls.py에서 경로 추가해주기 from django.urls import path from . import views urlpatterns = [ # 전체 게시글 조회 path('', views.index, name='index'), # 단일 게시글 조회 path('/', views.detail, name='detail'), # 게시글 새로 쓰기 path('new/',views.new, name='new'), path('create/'..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eeCt1r/btsvNuDpP9n/bvO2JlIKr7jxKgL1hcBaok/img.png)
https://memezz.tistory.com/22과 이어집니다. 1. urls.py에 path추가해주기 from django.urls import path from . import views urlpatterns = [ # 전체 게시글 조회 path('', views.index, name='index'), # 단일 게시글 조회 path('/', views.detail, name='detail'), # 게시글 새로 쓰기 path('new/',views.new, name='new'), path('create/', views.create, name='create'), # 지우기 path('/delete/',views.delete, name='delete'), ] 2. views.py에 delete 함수 추..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b0I6zK/btsvWR5ChL8/1xAqrvewVQ5MkoGPbTDWv0/img.png)
앞의 글과 이어집니다. 게시판에서 새로운 글을 작성할 수 있는 페이지를 만들어 보자 이때, 필요한 함수는 총 몇가지 일까? 사용자 입력 데이터를 받을 페이지를 렌더링 하는 new함수와 사용자가 입력한 데이터를 받아 DB에 저장하는 create함수가 필요하다. # new함수 1. url 추가해주기 from django.urls import path from . import views urlpatterns = [ # 전체 게시글 조회 path('', views.index, name='index'), # 단일 게시글 조회 path('/', views.detail, name='detail'), # 게시글 새로 쓰기 path('new/',views.new, name='new'), path('create/', vi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/t3aXW/btsvP96gs5t/qCSmLMVlrBq8T8mRjTRphK/img.png)
앞서, Django shell에서 했던 QuerySet API를 view함수에서도 사용할 수 있다. # 조회 - 전체 게시글 조회 게시판의 글을 한번에 볼 수 있는 index페이지 구현해보기 1. url 경로부터 생성, 편한 url이동을 위해 name을 붙여준다. # project/urls.py from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('articles/', include('articles.urls')), ] # articles/urls.py (생성해야함) from django.urls import path from . im..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uCZ8e/btst6OJBief/azt0G4wZUAEKnF4oVMG4Rk/img.png)
# QuerySet API의 구조 사용처: Django shell Django shell 사용법 Django 환경안에서 실행되는 python shell으로, 입력되는 QuerySet API 구문이 프로젝트에 영향을 미침 (1) 외부 라이브러리 설치, 설정 pip install ipython pip install django-extensions # setting.py 위치 INSTALLED_APPS = [ 'articles', 'django_extensions',#추가 .... ] pip freeze > requirements.txt (2) 실행 python manage.py shell_plus 이후, 창을 업데이트하려면 crtl + L 종료하려면 exit 1. 데이터 만들어 보기 첫번째, 하나하나 넣어주..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjJPey/btstXxo3zCq/yyiNcfSXU2KBwEYjX4bWAk/img.png)
# ORM이란? = Object Relational Mapping 객체 지향 프로그래밍 언어(ex. 파이썬)를 사용하여 호환되지 않는 유형의 시스템 간에 데이터를 변환하는 기술 # QuerySet API ORM에서 데이터를 검색, 필터링, 정렬 및 그룹화하는데 사용하는 도구 즉, SQL이 아닌 Python 코드를 이용해서 DB의 데이터를 처리할 수 있도록 만들어주는 API 쓰는 이유? 1. 데이터베이스 쿼리를 추상화해서 Django 개발자가 데이터베이스와 직접 상호작용하지 않아도 되도록 한다. 2. 데이터베이스와의 결합도를 낮추고, 개발자가 더욱 직관적이고 생산적으로 개발할 수 있도록 도와준다. 여기서, Query란? 데이터베이스에 특정한 데이터를 보여달라는 요청 즉, "쿼리문을 작성한다" = 원하는 데..