본문 바로가기

Web Programming/Django

(32)
Portfolio 프로젝트 (Static 파일 처리) Portfolio 프로젝트다음과 같은 포트폴리오 형태의 웹을 만들고자 하는데 우리는 Django를 이용하여 여러 파일 다루어보고자 한다 Django에서 다룰 수 있는 파일은 정적파일, 동적파일 두 가지가 존재하는데 정적파일(static)은 미리 서버에 저장된 파일동적파일(dynamic)은 서버의 데이터들이 어느정도 가공된 다음 제공되는 파일 그 중에서 이번엔 정적파일, Static 파일을 처리하는 방법을 학습한다 정적파일 종류1) 프로젝트 입장에서 이미 뭔지 아는 파일(static)2) 웹 서비스 이용자들이 업로드하는 파일(media) Static 파일 처리과정1. 위치 찾기2. 한 곳에 모으기 우리가 할일1. static 담을 폴더 만들기 (App/static 폴더 만들고 거기 넣기)2. static ..
Blog 완성하기 (글 작성하기) 글을 일일이 admin 사이트에서 추가하기는 매우 불편하고 실제 사이트들도 그렇게 이용하지 않는다그래서 블로그 프로젝트 내부에서 글을 직접 작성할 수 있는 페이지를 추가하고자 한다 먼저, template 파일을 만들어준다 123456789101112131415/app/template/new.html 제목: 본문: Colored by Color Scriptercs 다음, url을 설정해주고 view를 통해 new,html 파일을 띄워줄 수 있도록 한다 1234567# urls.pyurlpatterns = [ path('admin/', admin.site.urls), path('', blog.views.home, name='home'), path('blog/',blog.views.detail, name="d..
Home & Detail (Blog 모델 상세 페이지) What To do1) 글자 수 제한2) more을 통해 링크 달기3) 링크 클릭했을 때 detail.html 페이지 내보내기(핵심!) * 핵심 키워드 pk, path converter, get_object_or_404 1)models.py에 다음의 함수를 통해 글자 수를 제한한다! 12def summary(self): return self.body[:100]cs home.html에 가서 위의 정의된 함수 사용blog.body -> blog.summary로 교체 1 {{blog.summary}} cs 2)summary 뒤에 ...more 추가하기 1 {{blog.summary}} ...more cs 3)처리 흐름pk = x 번째 블로그 객체를 요청하면 x번 객체 내용 띄우기path converter = ..
Model & Admin Model & Admin Django Project 내에는Model + View + Template 의 MTV 구조로 동작되는데지난 Word Counter 에서는 View 와 Template 간에 데이터를 주고받고 가공해서 넘겨주는 구조에 대해서 공부하였다.이번에는 Model을 통해 데이터를 넘겨주고 View에서 가공하고 Template에서 출력하는 것에 대해 공부를 하려고 한다. 1) Model에 데이터를 어떻게 담을 것인가2) Model의 데이터를 어떻게 View로 넘길 것인가3) 이러한 데이터를 어떻게 Template 화면에 띄울 것인가 사전 준비.가상환경 켜기 - project 만들기 - app 만들기 - project에 app 연결하기 1. DB를 다루는 Model Model을 만들기 위해서 우..
Word Counter 만들기 Word Counter 만들기 주제: View와 Template 간에 함수를 통해 데이터 가공해서 주고 받기글귀를 입력하면 총 몇개의 단어로 구성되어 있는지 판단하여 알려주는 사이트 제작하기 사전 이론적 개념 템플릿 언어 - html 안에 쓰는 장고 제공 언어{{ python_variable }} 파이썬 변수를 html 안에 쓰기 템플릿 필터 - 템플릿 변수에 추가적인 속성 부여 123HTML{{ value | length }} # value의 길이 출력{{ value | lower }} # value를 소문자로 출력cs 템플릿 태그 - html 상에서 파이썬 문법 사용, url 생성 등의 기능 제공 12345678HTML# 반복문{% for students in class %} {{students}}{..
MTV 패턴 MTV 패턴 MTV 패턴은 Model - Template - View 로 구성되어있고 MVC 패턴 Model - View - Controller 와 기본적인 틀은 유사하다.각각의 구성 요소들이 독립적으로 자신의 임무를 수행하여 Django Framework가 동작되는 것이며 각각의 역할은 다음과 같다. Model - 데이터를 관리Template - 보여주기View - 처리 구체적으로는 다음과 같다.Model 모델은 데이터베이스에 저장되는 데이터를 의미합니다. excel과 같은 표의 형태로 정리하여 데이터베이스에 넣는다고 생각하면 편합니다. 원래 DB를 다루기 위해서는 SQL이라는 언어를 알아야하지만, 장고는 이 SQL을 몰라도 DB 작업을 가능하게 해주는 ORM을 제공하기 때문에 공부할 내용이 훨씬 적어..
Hello World 이론 & 실습 Hello World 이론 & 실습 가상환경 켜기 장고 프로젝트를 시작하려면 가장 먼저 가상환경을 켜야합니다. source myvenv/Script/Activate첫번째 Django 프로젝트 시작하기 가상환경이 켜진 상태에서 바로 아래 명령어를 입력해서 프로젝트를 만듭니다. django-admin startproject firstsiteDjango 서버 작동시키기 밑기진 않겠지만 우리의 첫번째 프로젝트 생성이 끝났습니다. 아래 명령어를 통해 어떤 웹사이트가 만들어졌는지 확인해봅시다. python manage.py runserver 서버를 동작시키면 다음과 같은 페이지가 나타나게 된다. 그 다음, 이제 Hello world 를 출력하는 페이지를 처리하고자 한다.app 만들기 app은 프로젝트의 구성 단위이..
Python & Django 설치 및 세팅 Python & Django 설치 및 세팅 먼저 해당 사이트에서 Python을 3.7 version 이상으로 설치해준다.www.python.org에서 다운로드 메뉴 - Python 3.7이상 선택해서 다운로드설치 과정에서 Add Python 3.7 to Path 반드시 체크 후 설치 완료.윈도우키 + R을 눌러서 나오는 창에 powershell이라고 치고, 확인을 눌러서 powershell실행powershell화면에서 python이라고 입력해서 오류가 나오지 않으면 설치 성공 그리고 다음의 명령어를 통해 가상환경을 만들어준다.여기서 가상환경이란, "파이썬 코드 상의 독립된 공간" 을 의미한다.프로젝트를 진행할 때, 해당 영역에서만 패키지 등을 적용시키겠다는 의미.python -m venv 가상환경명 py..