backend 269

장고 개발 기본, 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

django tutorial: API 사용해보기 & django admin 사용법 (part2)

Playing with the API (부터 다시)$python manage.py shell => Python shell 불러오기=> 그냥 'python'이라고 치는 대신 shell을 사용하는 이유: DJANGO_SETTINGS_MODULE 환경 변수를 세팅 => mysite/settings.py file에 import 해줌*만약 manage.py를 사용하지 않으면 DJANGO_SETTINGS_MODULE 환경 변수를 mysite.settings에 세팅하면 된다>>> import django>>> django.setup()----------이렇게 세팅해 주면 됨 explore database API in shell*이제부터는 뜬 python shell에 써주면 된다----------------------..

backend/django 2017.03.02

postgresql과 django 연동 (장고 데이터베이스 연동하기)

기본 세팅중에 가장 애를 먹었던 부분이다. 우선 postgressql을 실행한다. $sudo su -postgres (혹은 $su postgres) 이후 패스워드 입력 (postgresql 사용자 설정 시 적었던 비밀번호)$psql #이제 쉘이 바뀌는 것을 볼 수 있다. *데이터베이스 생성하기# mysite 대신에 아무 데이터베이스 명을 써도 되지만, 아마도? 장고 프로젝트 네임과 같아야 하는 것 같다. 나는 polls 예제를 따라하려고 만든 mysite를 그대로 데이터베이스 명으로 사용하였다. $CREATE DATABASE mysite; *user, password 지정: #장고에서 써야하니 꼭 기억해야 한다! 이걸 지정하지 않았다가 장고에서 데이터베이스와 연동할 때 한참동안 password가 없다는 ..

backend/django 2017.03.01