목록Web/Django (10)
나의 잡다한 노트 및 메모
개발자가 이미지를 다운받아 자신의 웹에 띄울 때 쓰는 방법임 form으로 입력받아 저장하는게 아니다. settings.py에서 media에 대한 설정을 한다. MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 그리고 media 폴더를 manage.py와 같은 폴더상에 만들어준다. 장고 모델중 ImageField()함수를 이용해 img 파일을 업로드 할 수 있다. 모델을 만들고 makemigrations, migrate는 필수. admin.py에 내 모델을 설정하고 admin에서 직접 업로드해보자. admin에서 직접 이미지를 저장하면 이미지 파일이 자동으로 media 폴더에 저장된다. 모델 만들고 뷰 작성하고나서 프로젝트 폴더의 url..
구글링을 통해 해결방법 왠만한 걸 다 해봤다. 포트포워딩부터 AWS의 EC2 보안그룹이 잘못 돼 있는지 새롭게 설정도 하고... 별의 별 똥꼬쇼를 다 했다 그런데도 결국 안돼 멘탈이 며칠동안 나가있었다가 다시 찾아보자는 마음으로 SSH에 대해서도 공부하고 구글링을 하다가... SK브로드밴드는 SSH의 포트인 22번을 막아놨다고 하더라?????????????? 그걸 왜 지들이 막아놓고 난리인지 진짜 이것때문에 시간 엄청 날렸던 걸 생각하면 속에서 열불이 난다 집에서 결국 못하고 밖에 다른 공유기 와이파이를 통해 하니 PUTTY 접속이 너무 잘 된다 ^^... 허탈해서 진짜... 에휴
Create, Read, Update, Delete를 묶어서 일컫는 말이다. 사용자인터페이스가 갖추어야 할 기능을 가리키는 용어이다. #페이지네이션 데이터가 많아졌을 때 페이지 번호를 둬서 클릭하면 해당 페이지로 이동하게끔 하는 것. from django.core.paginator import Paginator paginator = Paginator(restaurants, 5) # 한 페이지에 5개씩 표시 page = request.GET.get('page') # query params에서 page 데이터를 가져옴 items = paginator.get_page(page) # 해당 페이지의 아이템으로 필터링 #모델Form으로 생성 def create(request): if request.method ==..
ORM : Object Relational Mapping 객체-관계 매핑의 줄임말이다. 객체라는 개념을 구현한 클래스와 RDB(Relational DataBase)에서 쓰이는 데이터인 테이블을 '자동'으로 매핑하는 것을 의미한다. 서로가 기존부터 호환가능성을 두고 만들어진 것이 아니라 불일치가 발생하는데, 이를 ORM을 통해 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성해 불일치를 해결한다. ORM을 이용하면 따로 SQL문을 짤 필요없이 객체를 통해 간접적으로 DB를 조작할 수 있다. 데이터를 서로 교류하는 시스템간에 사용하는 언어가 다르거나 조금씩 데이터를 기술하는 방식이 다르기에 시스템이 변경되더라도 이를 하나의 코드로 통합해서 사용할 수 있는 기술이 필요했다. 이 개념을 기존의 Object의 ..
#개요 사용자 웹 인터페이스를 구성하는 것 중에서 Form은 사용자의 입력을 받기 위한 필드나 위젯들의 묶음을 의미한다. 우리가 자주 보는 로그인 화면이나, 글쓰기 화면 등에 데이터를 입력받는 입력 칸들과 버튼으로 이루어져 있다. #기본적인 형태
모델은 웹서비스에서 사용할 정보의 내용, 특성을 정의한 것을 의미. 어떤 정보들을 저장하기 위해 사용하는 개념이다. 맛집 사이트를 개발한다고 생각한다고 모델링을 하는 과정을 살펴보면 1) 취급할 정보의 대략적인 종류를 결정한다. 종류 각각이 모델 클래스가 된다. ex) 맛집, 평가, 회원 2) 각 취급할 정보의 속성을 정리한다. 맛집(주소, 위치, 명칭, 전화번호, 사진 등), 평가(별점, 글쓴 시각, 글쓴 회원 등), 회원(이메일, 닉네임 등) 3) 각 속성의 자료형을 결정한다. 데이터베이스는 데이터를 저장하고 관리하고 조회하기 위한 시스템을 의미한다. 이 데이터베이스에 새로운 데이터를 저장하고 다시 저장된 정보들을 표시한다. 모델 클래스를 파이썬 클래스를 선언해 정의한다. 이렇게 정의한 하나의 클래스..
url작업을 해줄 때 프로젝트의 url과 웹 앱의 url이 있다. 더 큰 개념인 프로젝트의 url에 path와 include를 import 해서 웹 앱의 url을 include해준다. 하나의 프로젝트 내에 여러 앱이 존재할 수 있으니 각 앱에 base path를 지정하고 유지보수를 용이하게 하기 위해 각 웹앱에 urls 라우팅 파일을 정의하고 그 파일을 base path에 맵핑되도록 한다. 웹 앱의 url에서 path로 지정해준다. ex) path('select.', views.select, name='select'), url맵핑을 정의할 때 일치하는 문자열을 그대로 해도 되지만 변수화를 통해 지정할 수도 있다. => select/1234 같은것이 해당된다 정규식을 사용해서 url 패턴을 정의할 수도 있..
장고만의 템플릿 언어를 사용한다. 주요 기능은 변수와 태그이다. 템플릿은 context와 함께 렌더링된다. 렌더링은 변수를 컨텍스트에서 조회되는 값으로 대체하고 태그를 실행한다. 다른 모든 것은 그대로 출력된다. #변수 변수는 키를 값으로 매핑하는 사전과 같은 객체인 Context에서 값을 출력한다. {{ 변수 }} 이런 문법으로 쓴다. 변수의 속성을 조회하기 위해선 . 으로 구현한다. #태그 태그는 콘텐츠를 출력하고, if나 for와 같은 제어 역할도 하고, db에서 콘텐츠를 가져오거나 등등 여러가지 역할을 가지고 있다. { % 태그 % } 이런 문법으로 쓴다. 대부분의 태그는 인수를 허용한다. {% if ~~~ %} {% endif %} #필터 필터는 변수 및 태그 인수의 값을 변환한다. {{ dja..