본문 바로가기

Web Programming

(50)
가짜 데이터 만들기(Faker 패키지) * 가짜 데이터, 왜 필요한가 -> 데이터가 많은 상황을 염두해 둔 기능을 구현할 적에 데이터가 많은 상황 재현하기 페이커 패키지 설치 1$ pip install fakercs fake.py 파일 생성 123from faker import Fakermyfake = Faker()myfake = Faker('ko.KR') # 한국어 사용가능cs # Faker의 메소드를 통해 어떤 종류의 가짜 데이터를 뽑아낼지 결정 123456myfake.name()myfake.adderss()myfake.text()myfake.state()myfake.sentence()myfake.random_number() # 다양한 형태로 활용 가능!cs # seed 파일을 통해 데이터 저장해두기 1myfake.seed(1) # myf..
장고 보다 간편화하기(Base, url 정리) 1. HTML 중복 코드 방지 프로젝트의 폴더에서 templates 폴더를 만들고 그 곳에 base.html 파일을 작성해준다반복되서 사용될 html 코드 내용을 작성해주고(navbar, footer 등)본문 내용이 들어갈 부분을 {% block content%} {% endblock %} 으로 묶어준다 그리고 원래의 template 파일에 가서 본문에 해당하는 내용만 {% block content%} {% endblock %} 으로 감싸고html의 시작부분에 {% extends 'base.html' %}을 작성해준다 그리고 base.html의 위치를 알려주기 위해settings.py에 다음의 코드를 추가합니다 12345678# settings.pyTEMPLATES= [ { ... 'DIRS' :['pr..
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을 제공하기 때문에 공부할 내용이 훨씬 적어..