전체 글 594

기본편 1장 웹프로그램의 이해, 2장 파이썬 웹 표준 라이브러리

1장 웹프로그램의 이해, 2장 파이썬웹 표준 라이브러리 2장.파이썬 웹 표준 라이브러리* 웹 라이브러리 구성-웹 서버 프로그래밍 + 웹 클라이언트 라이브러리 웹 클라이언트 라이브러리-urlparse 모듈from urllib.parse import urlparseresult = urlparse('http://www.python.org:80/guido/python.html;philosophy?overall=3#n10')ParseResult(scheme='http', netloc='www.python.org:80', path='/guido/python.html', params='philosophy', query='overall=3', fragment='n10') -urllib2 모듈 => 파이썬에서는 urll..

backend/django 2017.03.08

실전편- Blog 앱 만들기

1. 애플리케이션 설계 1) UI 설계post_all.html: 본문 제목(-> post_detail.html), Post.title, Post.modify_date, Post.description, 페이지 이동post_detail.html: Post.title, 포스트 이동,(?), Post.modify_data, Post.content 2) 테이블 설계id: integer/ PK, Auto Icrement, 기본 키title: CharField(50) => 포스트 제목slug: SlugField, Unique => 포스트 제목 별칭(??)description: CharField(100), Blank => 포스트 내용 한줄설명content: TextField => 포스트 내용create_data: Da..

backend/django 2017.03.06

장고 개발 기본, Bookmark 앱 만들기

*view 만들기- CBV의 제네릭 뷰?http://ruaa.me/django-view/-DetailView, Listview: 장고에서 지정해주는 디폴트값 2가지1. 컨텍스트 변수로 LV는 object_list, DV는 object 사용 2. 템플릿 파일을 LV는 모델명소문자_list.html로 ,DB는 모델명소문자_detail.html로 지정해주는 것. Bookmark 페이지 만들기1. 뼈대: startproject, settings.py, migrate, supeuser, startapp, settings.py (앱등록)-settings; DB, 템플릿 설정[os.path.join(BASE_DIR, 'templates')]-안하면 어떻게 되는지 보자,=> 안하면 안되는듯. 기본 'teplates'를..

backend/django 2017.03.05

django tutorial: advanced- 앱 재사용하기

https://docs.djangoproject.com/en/1.10/intro/reusable-apps/ 우리는 만들어진 poll 앱을 standalone 파이썬 패키지로 만들어서 다른 프로젝트에 쓸 수 있게 할 것이다. **Reusability matters 웹 애플리케이션을 디자인하고 만들고 테스트하고 유지하는 것은 많은 노력이 필요하다.많은 파이썬, 장고 프로젝트는 같은 문제를 공유한다.몇몇을 저장하고 다시 사용하면 좋지 않을까? 'Reusability' is the way of life in PythonPypi는 파이썬 프로그램에서 사용할 수 있는 방대한 파이썬 패키지들을 제공한다.Django Packages(https://djangopackages.org/)에는 프로젝트에 맞는 다양한 재사용 ..

backend/django 2017.03.04

django tutorial: 테스트 만들기 에러(python manage.py test polls)

테스트 만들기에서 테스트 실패: 해결 요약: postgres에서 ALTER USER user_id CREATEDB; 로 DB 권한 부여하기 $python manage.py test polls 명령어로 테스트를 하면 django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named psycopg2 라고 에러가 뜸 해결1:: http://stackoverflow.com/questions/12728004/error-no-module-named-psycopg2-extensions #설치가 안되있어서 (virtualenv 말고 기본 pip로) 가상환경을 해지한 후 pip install psycopg2로 재설치=> 그..

backend/django 2017.03.03

django tutorial: 어드민 사이트 변경- customizing admin (part7)

장고의 자동 생성된 admin의 커스터마이징을 다뤄 볼 것이다. Customize the admin formadmin.site.register(Question)으로 Question 모델을 등록함으로써 default form이 나타났다. => admin의 look과 work를 커스터마이징하는 경우에는 원하는 옵션을 얘기해주면 됨 admin.site.register(Question) 라인을 재배치polls/admin.py 파일을 열어서------from django.contrib import admin from .models import Question class QuestionAdmin(admin.ModelAdmin): fields = ['pub_date', 'question_text'] admin.sit..

backend/django 2017.03.03

django tutorial: static files- 스타일시트, css, stylesheet (part 6)

서버에서 만든 HTML 이외에도 이미지, 자바스크립트, CSS와 같은 추가적인 파일이 필요=> 이번 튜토리얼에서는 stylesheet나 이미지를 poll 앱에 추가해볼 것=> 장고에서는 이런 파일들을 "static files"라고 부른다. 작은 프로젝트에서는 이런 static file들을 웹서버가 찾을 수 있는 곳에 두면 되기 때문에 쉽게 처리 가능=> 하지만 큰 프로젝트, 특히 여러개의 app들이 있는 것들은 복잡해질 수 있음 그래서 django.contrib.staticfiles가 있다=> 각각의 앱에서 static 파일들을 => 쉽게 제공 가능한 하나의 장소로 모아줌 **Customize your app’s look and feel우선, polls 폴더 안에 'static'이라는 폴더를 만든다=> ..

backend/django 2017.03.03

django tutorial: Testing(테스팅) (part5)

이제부터 우리는 만들어진 poll 앱에 대한 자동화된 테스트를 만들 것이다. **Introducing automated testing *What are automated tests?테스트는 코드의 동작을 체크하기 위한 간단한 routine이다자동화된 테스트는 시스템상에서 테스트 작업이 진행되는 것! 한 번 설정 해 놓으면 이후게 지속적으로 작업할 수 있다. *Why you need to create tests당신은 아마도 파이썬/장고에 대해 한참 배울 게 남았는데 왜 테스트를 하는지 의문이 들것이다. poll 애플리케이션은 상당히 괜찮고, 테스트를 만드는게 앱 작업을 더 좋게 만들어 줄 것 같지도 않다.만일 장고 프로그래밍에서 polls 애플리케이션같은 것만 만들거라면 테스트가 필요 없지만, 그게 아니라..

backend/django 2017.03.03

django tutorial: form, generic view 사용 (part4)

Write a simple form polls.detail.html에 간단한 HTML 문을 추가하였다.--------------{{ question.question_text }} {% if error_message %}{{ error_message }}{% endif %} {% csrf_token %}{% for choice in question.choice_set.all %} {{ choice.choice_text }} {% endfor %}-------------- - 위의 템플릿은 각각의 질문 choice에 radio button을 보여준다. # 각각의 버튼 값은 질문의 choice id 값과 연동된다. => 누군가 하나의 radio 버튼을 누르고 submit을 하면 POST data choice=..

backend/django 2017.03.03

django tutorial: View, template 이용하기 (part3)

part3에서는 'views' 기능을 만드는데 집중 (공식 웹사이트에서는 public interface라는 용어를 썼다.) Overview-'view'는 장고 어플리케이션의 일종의 웹페이지 타입으로, 특정한 템플릿을 가진 특정한 기능을 제공해준다. ex) 블로그 어플리케이션에서 볼 수 있는 view-블로그 홈페이지: 최근의 entries를 보여준다-'detail' 페이지 입구: single entry의 링크-year-based 페이지-month-based 페이지 등등... (왜 이런 예시를 들었는지 잘 모르겠다) poll application에서는 4가지 view를 만들것이다.- Question 'index' page: 가장 최근의 questoins들을 보여줌- Question 'detail' page:..

backend/django 2017.03.02