Python & Flask & Django
-
SQLAlchemy 시작하기 - Part 2Python & Flask & Django 2017. 2. 1. 20:01
[출처] http://www.haruair.com/blog/1695 리스트와 Scalars 반환하기 Query 객체의 all(), one(), first() 메소드는 즉시 SQL을 호출하고 non-iterator 값을 반환한다. all()은 리스트를 반환한다. query = session.query(User).filter(User.name.like('%air')).order_by(User.id) query.all() # [, ] first()는 첫째를 리밋으로 설정해 scalar로 가져온다. query.first() # one()은 모든 행을 참조해 식별자를 값으로 가지고 있지 않거나 여러 행이 동일한 값을 가지고 있는 경우 에러를 만든다. from sqlalchemy.orm.exc import Mult..
-
SQLAlchemy 시작하기 - Part 1Python & Flask & Django 2017. 1. 31. 22:16
[출처] http://www.haruair.com/blog/1682 SQLAlchemy 객체 관계형 매퍼는 데이터베이스 테이블을 이용해 사용자가 정의한 파이썬 클래스의 메소드와 각각의 행을 나타내는 인스턴스로 표현된다. 객체와 각 연관된 행들의 모든 변경점들이 자동으로 동기되어 인스턴스에 반영되며, 그와 동시에 사용자가 정의한 클래스와 각 클래스 사이에 정의된 관계에 대해 쿼리할 수 있는 (Unit of work 이라 하는) 시스템을 포함하고 있다. 이 ORM에서 사용하는 SQLAlchemy 표현 언어는 ORM의 구성 방식과도 같다. SQL언어 튜토리얼에서는 직접적인 의견을 배제한 채 데이터베이스들을 초기에 어떻게 구성해 나가야 하는지에 대해 설명하는 반면 ORM은 고수준의, 추상적인 패턴의 사용 방식과..
-
Python public, private, protectedPython & Flask & Django 2017. 1. 25. 23:48
class foobar(object): variable1 = None # public 변수 _variable2 = None # protected 변수 __ variable3 = None # private 변수 def public_method(self): # public method pass def _protected_method(self): # protected method pass def __private_method(self): # private method pass [참고] http://jasmine125.tistory.com/920
-
WSGI (Web Server Gateway Interface)Python & Flask & Django 2017. 1. 19. 22:35
Python WSGI의 역사 wsgi는 2000년대 초반 Phillip J. Eby 라는 사람이 만들었는데, wsgi가 존재하기 전, 기존에 존재하던 Apache 모듈의 일종인 mod_python이 공식적인 명세도 없을 뿐더러 불안정했기 때문에 개발자들은 다른 해결책을 찾아나서기 시작했다. wsgi는 CGI(Common Gateway Interface)의 일종으로, web이 이제 막 걸음마 단계를 시작했을 적에 CGI는 수많은 언어에서 문제 없이 작동한다는 이유로(애초에 CGI 외에 다른 선택권이 없기도 했다) 기하급수적으로 사용량이 증가했다. 하지만 CGI는 너무 느리고 제한사항도 많았을 뿐더러, pyton app에서 CGI, mod_python, Fast CGI 등등 만ㅇ르 사용했다. wsgi는 이와..
-
if __name__ = ""__main__: 의미!Python & Flask & Django 2017. 1. 19. 00:06
파이썬 프로그래밍을 하다보면 아래와 같은 문장을 만나곤 한다. if __name__ = "__main__" 위의 문장을 이해하기 위해서는 파이썬의 namespace 라는 개념을 이해해야 한다. namespace를 얘기하기 전 파이썬에서 name(변수명)이 의미하는 것을 생각해 보자. 아래와 같이 파이썬에서는 name 에 값을 줄 수 있다. 그리고 값 값 뿐 아니라 function 과 같은 형태도 name을 줄 수 있다. 또한 동일한 name 을 재사용할 수 있다. i = 12 s = "Hello World" l = [1, 2, 3] def foo() print("This is a function") f = foo var = 12 var = "Hello world" var = [1, 2, 3] 파이썬에서 ..