dev 40

[Django] 장고 기초 - Faker

Faker? 데이터가 많은 상황을 염두해 둔 기능을 구현해야 한다면 재현할 때 쓰기 유용하다. 1. $ pip install faker 2. fake.py 파일 생성 from faker import Faker myfake = Faker() myfake = Faker('ko_KR') # 한국말로 된 가짜 Faker 객체 생성 # Seed파일 myfaker.seed(seed번호) # seed번호 = 각각의 가짜 데이터의 데이터번호 # 데이터가 변하는것을 방지 # 코드를 실행할 때마다 같은 faker파일이 도출해 줌 ex. myfaker.seed(1), myfaker.seed(2) # Faker의 메소드를 통해 어떤 종류의 가짜데이터를 뽑아낼지 결정 가능 myfake.name() myfake.address()..

Server/django 2019.12.30

[Django] 장고 기초 - Pagination

Pagination - 페이지 단위로 자르기 pagination 처리 과정 1. 무슨 객체를, 한 페이지 당 몇 개씩 Pagination시킬 것인지 결정 -> Paginator(object, num) 2. 원하는 페이지 갖고 오기 -> 페이지네이터객체.get_page(갖고오고싶은 페이지번호) 3. 갖고 온 페이지 html에 띄우기 -> 페이지객체의 메소드함수 + 템플릿언어 cf. Paginator Class vs Page Class Paginator Class : 자른 페이지들의 뭉텅이 ex. 1~3번 페이지 Page Class : 자른 페이지들 중 하나의 페이지 ex. 3번 페이지 최종 목적은 Page 객체를 얻는 것 cf. Page 객체의 메소드 함수 함수 뜻 page.count() 총 객체 수(총 ..

Server/django 2019.12.29

[Django] 장고 기초 - 회원가입, 로그인, 로그아웃

회원가입, 로그인, 로그아웃(accounts App) - 장고에서 제공하는 함수이용! base.html을 베이스로 하여 템플릿 상속을 통해 UI를 동일하게 해줍니다. navbar에 회원가입, 로그인 버튼이 있어 해당 버튼을 누르면 연결되는 signup.html, login.html을 띄워줍니다. 각각의 화면에서 submit 버튼을 누르면 회원가입이 되고, 로그인이 되는 로직으로 진행하겠습니다. 1. 회원가입, 로그인, 로그아웃 기능을 다루는 accounts App 생성 2. accounts>templates 폴더 안에 signup.html과 login.html 생성 signup.html login.html 3. accounts>urls.py에서 from . import views path('signup/..

Server/django 2019.12.29

[Django] 장고 기초 - 템플릿 상속 및 url 관리

템플릿 상속 html상에서 겹치는 내용들(ex. navbar)을 새로운 html을 만들 때마다 복붙 해야 할까? -> base.html에 겹치는 내용들을 써주고, 새 파일에는 base.html을 불러온다. 템플릿 상속의 장점 : 코드 재사용 가능, 일관된 UI 구성 및 변경 용이 템플릿 상속의 구현 1. 프로젝트 폴더에 ‘templates’ 폴더 만들기 2. templates폴더에 base.html만들기 3. base.html에 (중복코드)내용 채워넣기 및 선언 ~(중복코드)~ 이 아래에 새로운 컨텐츠가 올 예정 {% block contents %} {% endblock %} contents 대신 title, sidebar 등 가능 4. settings.py에 base.html 위치 알리기 TEMPLAT..

Server/django 2019.12.29

[Django] 장고 기초 - portfolio (static & media)

Static File은 정적 파일을 의미하는데 미리 서버에 저장되어 있는 파일을 말한다. 정적 파일은 프로젝트 입장에서 이미 무엇인지 아는 파일인 "static" 웹 서비스 이용자들이 업로드하는 파일인 "media" 두개로 나누어 질 수 있다. 먼저 미리 준비해둔 사진을 띄우는 'static'을 다루는 방법에 대해 알아보겠습니다. static Static 파일의 처리 과정 1. Static 파일들의 위치 찾기 2. Static 파일들을 한 곳에 모으기 따라서, 다음과 같은 순서로 진행됩니다. 1. Static 파일들을 담을 폴더 만들기 -> (App 폴더 안에) static 폴더를 만들고, 그 안에 파일을 넣기 2. Static 파일이 어디 있고, 어디로 모을지 알려주기 -> settings.py에서 알..

Server/django 2019.12.29

[Django] 장고 기초 - pk, path converter, get_object_or_404란?

path-converter란? 장고에서 여러 객체들을 다루는 계층적 url이 필요할 경우에 사용하며, 와 같은 모양입니다. 지정한 converter type의 name변수를 view 함수로 넘기라는 의미입니다. 제가 가져온 코드를 설명하자면, 블로그 글들이 생성될 때마다 각 블로그에 해당하는 'blog/1', 'blog/2'와 같은 url과 view들을 만드는 것은 매우 비효율적이며 그렇게 할 수도 없습니다. 따라서, 하나의 코드로 url과 view를 다루어야 합니다. 를 path-converter로 하여 detail 함수에 넘겨준다는 의미입니다. pk(primary key)란? model에서 찍어낸 수많은 객체들을 구분할 수 있는 구분자라고 할 수 있습니다. 여기서는 blog_id가 pk값이 됩니다. ..

Server/django 2019.12.28

[Django] 장고 기초 - queryset & method

앞에서 작성한 [Django] 장고 기초 - model & admin 블로그 내용과 이어지는데요, 사용자에게 출력물을 보여주기 위해서는 view에서 데이터를 가져옵니다. Blog를 import해 Blog.objects를 넘겨줍니다. Blog.objects는 Blog 안의 데이터들입니다. 이렇게 모델로부터 전달받은 객체목록을 queryset이라고 부릅니다. 그리고 이러한 queryset들을 처리해주는 방법을 method라고 부릅니다. 이제 view에서 넘어온 데이터를 template에서 보여주기 위해 템플릿 언어를 사용해봅시다. template에서 가져온 blogs는 list 같은 형식으로 넘어옵니다. .all 이라는 것은 객체에 있는 모든 쿼리셋을 가져와라 라는 뜻입니다. Blog의 title과 body..

Server/django 2019.12.28

[Django] 장고 기초 - model & admin

model과 admin이 무엇인지 알아보기 위해서 블로그 웹 사이트를 만들어 볼게요. 먼저, model을 만들어 봅시다. 일반적인 블로그 게시글은 제목, 작성일자, 본문 형태로 되어있죠? 이를 포함하는 내용을 가진 클래스를 만들어 볼게요. 앱 폴더 안 models.py 파일에서 클래스를 정의해주겠습니다. title, pub_date, body는 모델 Blog의 속성들입니다. title 속성은 최대 length가 200인 문자열로 정의한다. pub_date 속성은 날짜와 시간으로 정의한다. body 속성은 긴 문자열로 정의한다. 뜻은 이 정도로 알고 있으면 될 것 같습니다. 위와 같이 model을 정의했으면 다음과 같은 명령을 내려줘야합니다. $ python manage.py makemigrations :..

Server/django 2019.12.28

[Django] 장고 기초 - 템플릿 언어란?

템플릿 언어란? HTML안에 쓰는 장고 제공 언어로 HTML안에 파이썬 변수/문법을 쓰고 싶을 때 사용하는 것을 말함 • 템플릿 변수 : 해당 파이썬 변수를 HTML 파일에 담아 화면에 출력하라 {{ python_variable }} • 템플릿 필터 : 템플릿 변수에 추가적인 속성 및 기능 제공 {{ python_value | filter }} {{ value | length }} : value의 길이 반환 {{ value | lower }} : value를 소문자로 출력 • 템플릿 태그 : HTML상에서 파이썬 문법 사용 {% tag %} ~ {% endtag %} {% for students in class %} {{ students }} {% endfor %} url생성 기능 제공 {% url 'u..

Server/django 2019.12.27

[Django] 장고 기초 - 기본 환경 셋팅

Django를 진행하기 위해서는 Git Bash, Python, VSCode를 모두 설치해주셔야 합니다! 모두 설치가 완료되셨다면 다음과 같은 기본적인 명령어들과 코드들로 가상환경, 프로젝트, 앱을 만들어 기본적인 틀을 만들어보겠습니다. 1. 작업 디렉토리(폴더) 만들기 1) $ mkdir : 내가 작업할 디렉토리(폴더) 만들기 2) $ cd : 작업할 디렉토리(폴더)로 이동하기 3) $ code . : 현재 위치해있는 폴더에서 vscode로 열기 4) Ctrl+Shift+`로 bash창 열기 (terminal이 bash가 아닐 경우 Ctrl+Shift+p를 누르고 select default shell 검색 후 Git Bash로 변경) 2. 가상환경 생성 및 장고 설치하기 1) $ python -m ve..

Server/django 2019.12.26