python
django 자동완성 구현하기 django-autocomplete-light
2016. 12. 26.django 자동완성 구현하기 django-autocomplete-light django-autocomplete-light 설치 documentation http://django-autocomplete-light.readthedocs.io/en/master/ 타이틀이나 태그 등 입력시 텍스트를 자동 완성해주는 django 패키지 django-autocomplete-light 3.2.1 를 설치해보자.DAL(django-autocomplete-light)는 Python 2.7, 3.4, Django 1.8+ 이상에서 작동하며, 태그입력시 적용할려면 django-taggit 이 먼저 설치되어 있어야 한다. 다음과 같이 설치한다.12345678910# pip install django-autocomplete-..
Anaconda for Windows와 Django 설치
2016. 2. 11.1. Windows Anaconda 설치 https://www.continuum.io/downloads 2. 가상환경 설정 12345C:\Users\fukaeri>mkdir haskelC:\Users\fukaeri>cd haskelC:\Users\fukaeri\haskel>python3 -m venv envhaskelC:\Users\fukaeri\haskel>envhaskel\Scripts\activate(envhaskel) C:\Users\fukaeri\haskel>cs 3. 장고 설치 1) 설치된 장고 확인 - 아래에서 보다시피 django 라는 모듈이 없다. 123456789(envhaskel) C:\Users\fukaeri>pythonPython 3.5.1 |Anaconda 2.5.0 (32-bi..
아나콘다 다중 환경구성 _ 파이썬 3.5 환경 구성하기 Create a Python 3.5 environment
2015. 12. 1.아나콘다에서 다른 버전의 파이썬 환경을 구축하고자 하는 경우 conda create 명령어를 사용하면 된다. 그럼 현재 파이썬 2.7이 설치된 상황에서 파이썬 3.5 환경을 추가로 구성해보자. 먼저 현재 설정된 아나콘다 환경과 파이썬 버전을 확인해보자.(* 표시된 것이 현재 로딩된 환경이다) 12345root@localhost:~# conda info --envs# conda environments:#envtread /root/anaconda/envs/envtreadroot */root/anacondacs envtread 라는 이름의 가상환경을 활성화하고 파이썬 버전을 확인해보면 Python 2.7.10 이 설치되어 있음을 알 수 있다. 1234567891011root@localhost:~# source..
object has no attribute 'title' and getattr(object, name[, default])
2015. 11. 20.def getwordcounts(url): d=feedparser.parse(url) wc={} for e in d.entries: if 'summary' in e: summary=e.summary else: summary=e.description words=getwords(e.title+' '+summary) for word in words: wc.setdefault(word,0) wc[word]+=1 return d.feed.title, wc 파싱하고자 하는 URL이 유효한 피드가 아닌 경우, 예를 들어 URL 이 일반 웹페이지거나 피드가 없는 경우 아래와 같은 에러를 일으킨다. AttributeError at object has no attribute 'title' 이 경우 getattr 을 이용하..
feedparser 5.2.1 (universal feed parser)
2015. 11. 14.feedparser 설치 설치여부 확인 (envtread)root@localhost:~/antifragile# python Python 2.7.10 |Anaconda 2.3.0 (64-bit)| (default, Sep 15 2015, 14:50:01) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2 Type "help", "copyright", "credits" or "license" for more information. Anaconda is brought to you by Continuum Analytics. Please check out: http://continuum.io/thanks and https://anaconda.org >>> import feed..
ImportError: No module named mechanize
2015. 10. 23.ImportError: No module named mechanizemechanize 설치 (envtread)root@localhost:~/antifragile# pip install mechanizeCollecting mechanize Downloading mechanize-0.2.5.tar.gz (383kB) 100% |████████████████████████████████| 385kB 441kB/sBuilding wheels for collected packages: mechanize Running setup.py bdist_wheel for mechanize Stored in directory: /root/.cache/pip/wheels/76/df/92/81fc6784ee60ceb2871e73..
Anaconda Package List (Python version: 2.7)
2015. 10. 17.Anaconda Package List — Continuum documentation Python Visualization and Data Exploration - Continuum Analytics Anaconda Package List [출처] http://docs.continuum.io/anaconda/pkg-docs Python version: 2.7Number of supported packages: 340 Name Version Summary / License In Installer abstract-rendering Linux Mac 0.5.1 Rendering as a binning process / 3-clause BSD affine 1.1.0 Matrices describing affin..
우분투(Ubuntu) 아나콘다(Anaconda) 설치
2015. 9. 27.아나콘다는 파이썬(3.4.3, 3.3.5, 2.7.10, and/or 2.6.9)을 포함하여 150여개의 과학 및 분석에 사용되는 파이썬 패키지를 손쉽게 설치해주는프로그램이다. 아나콘다 설치 방법에 대해서는 아래 링크를 참조한다. http://docs.continuum.io/anaconda/install 우분투 등 리눅스 운영체제의 경우 아나콘다를 다운로드한 후 아래 명령을 실행한 후 터미널을 종료하고 다시 실행하면 된다. bash ~/Downloads/Anaconda-2.3.0-Linux-x86_64.sh 위의 사이트에서 다운로드받지 않고 아래와 같이 wget을 이용해서 직접 다운로드할 수도 있다. wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b0..
파이썬, 장고, 그리고 오라클 데이터베이스 연결하기 (1)
2015. 8. 23.Using the Django Framework with Python and Oracle Database (1) 본 게시물에서는 파이썬, 장고, 오라클을 이용하여 기존 오라클 데이터베이스의 자료를 조회할 수 있는 페이지를 만들어보고자 한다. http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/oow10/python_django/python_django.htm 파이썬을 만든 Guido van Rossum at PyCon 2013 [1단계] 1. 앞서 밝혔듯이 본 게시물의 작성 목표는 기존에 설치된 Oracle Database 에 연결하여 데이터 조회를 위한 페이지를 만드는 것이다. 2. 본격적인 작업에 앞서 연결할 데이터베이스의 username, p..
[django] admin 계정 패스워드 리셋하는 방법
2015. 7. 16.지금까지 장고django 로 기본 사이트 구성하는 것에 대해 올려드렸습니다. 이어서 게시물을 올리려고 하는데, 갑자기 계정 정보가 생각이 나지 않습니다. 이런.... 어떻게 하면 다시 로그인할 수 있을까요?아래와 같이 실행하면 현재 슈퍼유저 계정 목록과 패스워드를 리셋하실 수 있으니 참고하시기 바랍니다. (venv)root@cloud:~/mysite# python manage.py shellPython 2.7.3 (default, Aug 1 2012, 05:14:39)[GCC 4.6.3] on linux2Type "help", "copyright", "credits" or "license" for more information.(InteractiveConsole)>>> from django.contrib..
[django] Write your first view
2015. 7. 13.뷰라는 것은 특정한 기능을 수행하고 특정한 템플릿을 지닌 장고 어플리케이션의 웹페이지의 한 유형이다.장고에서는 웹페이지와 기타 컨텐츠가 뷰에 의해 수행된다. 각각의 뷰는 간단한 파이썬 함수에 의해 표현된다. 현재 진행중인 투표 어플리케이션의 경우 아래의 4가지 뷰를 가진다.- 질문 '인덱스' 페이지 : 최근의 몇 가지 질문 표시- 질문 '상세' 페이지 : 질문의 내용 및 투표할 수 있는 폼 포함- 질문 '투표결과' 페이지 : 특정 질문에 대한 결과치 표시- 투표 행위 : 특정한 질문에 대해 특정한 대답을 하는 행위 관리 Write your first view첫 번째 뷰를 만들어 본다. polls/views.py 파일을 열어 다음 코드를 삽입한다. polls/views.pyfrom django.http i..
[django] Adding related objects
2015. 7. 13.Adding related objects 하나의 질문에 여러 개의 보기가 있을 수 있음에도, 예제 이미지에는 보기가 보이지 않는다.이 경우 아래와 같이 해결한다. "Question" 필드는 select box 형태를 지니고 있고 현재 존재하는 모든 질문이 들어간다. 즉, 답변이 질문에 대해 가지는 FK 관계가 박스로 표현되는 것이다. 하지만 위와 같이 답변 문항을 생성하는 것은 비효율적이다. 한꺼번에 해당 질문에 대한 답변을 등록할 수 있다면 더욱 효과적일 것이다. 먼저 Choice 모델을 호출하는 register() 를 삭제한 후 다음과 같이 코딩한다. 아래의 의미는 다음과 같다. Choice 오브젝트는 어드민 페이지의 Question 에서 편집 가능하며, 기본값으로 3개의 답변 필드를 가진다. 하지만..
[django] Playing with the API
2015. 7. 13.Playing with the API 단순히 "python"이라고 입력하는 대신에, 앞으로는 아래와 같이 사용할 것이다.왜냐하면 manage.py 가DJANGO_SETTINGS_MODULE 환경변수(mysite/settings.py file 의 경로를 가져온다)를 설정해주는 역할을 하기 때문이다. $ python manage.py shell아래와 같이 DJANGO_SETTINGS_MODULE 환경 변수를 직접 설정하는 방법도 있다.>>> import django >>> django.setup()manage.py 파일이 위치한 디렉토리에서 파이썬을 실행해야 한다.더욱 자세한 내용은 django-admin 문서에서 확인가능하다.이제 그러면 데이터베이스 API 를 살펴보자. # 방금 작성한 모델 클래스를 가져..
[django] Django 설치하기
2015. 7. 11.장고(django) 프레임워크를 이용하기 위해서는 먼저 파이썬이 설치되어 있어야 한다. 그러므로 먼저 파이썬 설치 여부를 확인해본 후, 필요하다면 아래와 같이 설치하도록 한다. 1. Python 설치 1) 설치 위치 확인 root@seoul:~# which python /usr/bin/python 2) 파이썬 버전 확인 root@seoul:~# python -V Python 2.7.3 3) 파이썬이 설치되어 있지 않다면 아래에서 다운로드하여 설치한다. https://www.python.org/download/ 4) 정상적으로 설치되었는지는 아래와 같이 확인한다. root@seoul:~# python Python 2.7.3 (default, Dec 18 2014, 19:10:20) [GCC 4.6.3] o..
[django] Django 설치하기
2015. 6. 13. 장고(django) 프레임워크를 이용하기 위해서는 먼저 파이썬이 설치되어 있어야 한다. 그러므로 먼저 파이썬 설치 여부를 확인해본 후, 필요하다면 아래와 같이 설치하도록 한다. 1. Python 설치 1) 설치 위치 확인 root@seoul:~# which python /usr/bin/python 2) 파이썬 버전 확인 root@seoul:~# python -V Python 2.7.3 3) 파이썬이 설치되어 있지 않다면 아래에서 다운로드하여 설치한다. https://www.python.org/download/ 4) 정상적으로 설치되었는지는 아래와 같이 확인한다. root@seoul:~# python Python 2.7.3 (default, Dec 18 2014, 19:10:20) [GCC 4...
numpy - Arrays (8) (ArrayArray item selection and manipulation)
2015. 4. 11.Array item selection and manipulation Boolean array 의 array selectors 로의 활용 >>> a = np.array([[6,4],[5,9]], float) >>> print a [[ 6. 4.] [ 5. 9.]] >>> a >= 6# Boolean array 는 array selectors 로 사용가능하다 array([[ True, False], [False, True]], dtype=bool)# True인 원소만 반환 >>> a[a>=6] array([ 6., 9.]) Integer arrays의 사용 >>> a = np.array([2,4,6,8], float) >>> b = np.array([0,0,1,3,2,1], int) >>> print a [..
numpy - Arrays (7) (Comparison operators and value testing)
2015. 4. 11.Comparison operators and value testing 동일한 사이즈의 배열에서 원소 단위로 비교 가능반환값은 True/False 이며, 결과값은 배열은 저장가능 >>> a=np.array([1,3,0], float) >>> b=np.array([0,3,2], float) >>> a > b array([ True, False, False], dtype=bool)>>> a == b array([False, True, False], dtype=bool) >>> a >> c = a>b >>> c array([ True, False, False], dtype=bool) >>> broadcasting 을 통해 단일값과도 비교 가능 >>> a = np.array([1,3,0], float) >>> a..
numpy - Arrays (4) (Array iteration)
2015. 3. 8.Array iteration list 와 유사한 방식으로 배열에 대해 반복이 가능하다 >>> a = np.array([1, 4, 5], int) >>> for x in a: ... print x ... 1 4 5 다차원 배열의 경우 >>> a = np.array([[1, 2], [3, 4], [5, 6]], float) >>> for x in a: ... print x ... [ 1. 2.] [ 3. 4.] [ 5. 6.] 곱하기 연산도 가능 >>> a = np.array([[1, 2], [3, 4], [5, 6]], float) >>> for (x, y) in a: ... print x * y ... 2.0 12.0 30.0
numpy - Arrays (4) (Array mathematics)
2015. 2. 28.Array mathematics 기본적인 수학 연산이 가능합니다. 이 경우 원소 대 원소로 적용이 됩니다. 즉, 더하기, 빼기 등의 연산은 기본적으로 같이 사이즈여야 한다는 것이죠. >>> a = np.array([1,2,3], float) >>> b = np.array([5,2,6], float) >>> a + b array([6., 4., 9.]) >>> a – b array([-4., 0., -3.]) >>> a * b array([5., 4., 18.]) >>> b / a array([5., 1., 2.]) >>> a % b array([1., 0., 3.]) >>> b**a array([5., 4., 216.]) 2차원 array 에서 곱하기 연산은 행렬곱을 따르는 것이 아니라 원소 단위로 이루..
numpy - Arrays (2)
2015. 2. 26.copy copy 함수를 통해 새로운 array 생성 가능 >>> a = np.array([1,2,3], float) >>> b = a >>> c = a.copy() >>> a array([ 1., 2., 3.]) >>> b array([ 1., 2., 3.]) >>> c array([ 1., 2., 3.]) tolist array 로부터 list 생성 가능 >>> a = np.array([1, 2, 3], float) >>> a.tolist() [1.0, 2.0, 3.0] >>> list(a) [1.0, 2.0, 3.0] tostring / fromstring tostring 함수(binary 문자열로 변환)와 fromsrting 함수(역으로 binary 에서 array 생성) 대량의 array 데이터..
numpy - Arrays (1)
2015. 2. 26.Array Python 의 리스트와 유사한 개념 하지만 array 의 구성요소는 모두 동일한 데이터 타입이어야 한다는 점이 다름 importing NumPy >>> import numpy as np 버전 확인 >>> numpy.version.full_version '1.9.1' Array 기본 구조 (1) >>> a = np.array([1,4,5,8], float) // 2개의 인수를 가짐. 두번째 인수는 데이터타입 >>> a array([ 1., 4., 5., 8.]) >>> type(a) // N-dimensional array >>> a[:2] array([ 1., 4.]) >>> a[3] 8.0 >>> a[0] = 5. >>> a array([ 5., 4., 5., 8.]) Array 기본 구조..
sqlalchemy - group by 를 이용한 결과 표현
2015. 2. 13.sum, max 등 group by 를 이용한 결과를 표현할 때 a.py q = session.query( included_parts.c.sub_part, func.sum(included_parts.c.quantity).label('total_quantity') ).\ group_by(included_parts.c.sub_part)a.html {% for record in records %} {{ loop.index }} {{ record.included_parts.c.sub_part}} {{ record.total_quantity}} {% endfor %} 참조 : http://docs.sqlalchemy.org/en/rel_0_7/orm/query.html
phpliteadmin 에서 sqlite3 alter table 에러날 때
2015. 1. 17.phpliteadmin 을 이용해서 생성된 테이블에 대해 컬럼 추가나 변경 등의 alter table 명령을 실행하면 아래와 같이 에러메시지를 출력한다. 이 경우에는 하단에서 보는 바와 같이 putty 등의 툴을 이용해서 명령을 실행한다.해당 데이터베이스가 있는 디렉토리로 이동하여 sqlite3 명령을 실행한 후 alter table photos add major VARCHAR(100): 과 같이 실행.
[파이썬/기초] 물건을 만들려면 재료와 도구가 필요하다 - 데이터와 함수, 메소드
2015. 1. 9.물건을 만들려면 재료와 도구가 필요하다. 1. 재료 = 데이터 1) 데이터(재료)에는 다양한 종류가 있다 = 데이터의 형(型) ← 재료를 종류별로 나누어 적합한 도구를 사용하는 편이 편리2) 기본재료와 응응재료 (1) 기본재료 = 내장데이터 = 정수, 문자열, 실수, 부울, 리스트 등 → import 로 모듈을 읽어들일 필요가 없다 (2) 응용재료3) 변수 = 재료에 이름붙이기(알파벳, 숫자, 언더스코어) 2. 도구 = 함수 등1) 함수(인수) = 반환값2) 메소드 = 각각의 데이터형이 지닌 전용함수(특정 데이터에만 존재하는 함수, 못 ↔ 쇠망치, 나사 ↔ 드라이버) 3. 사물의 상하관계1) 재료와 도구를 함께 생각하기 = 도구(메소드)도 세트로 되어 있다 문자열형⇔과일형 [데이터] ⇔ [재료] 'Seo..
[웹사이트 만들기] (4) 블로그 만들기 - install Homebrew / Easy-Install (Homebrew /Easy-Install 설치하기)
2014. 12. 24.Ubuntu 에서 Homebrew 설치하기 1. Ruby 프로그램부터 설치한다 sudo apt-get install build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev 2. Homebrew 설치 ruby -e "$(wget -O- https://raw.github.com/Homebrew/linuxbrew/go/install)"아래와 같은 메시지가 출력되는 경우 다음과 같이 한다. 1) Don't run this as root!말 그대로 root 계정이 아닌 다른 계정을 추가하여 해당 계정으로 설치하면 된다.useradd 로 계정 추가한 뒤, 해당 계정으로 H..
[웹사이트 만들기] (2) Django 설치 Installing django
2014. 12. 10.https://www.djangoproject.com [Complete Installation Guide]https://docs.djangoproject.com/en/1.7/topics/install/ Django 설치[root@jpalace root]# wget http://www.djangoproject.com/download/1.3.1/tarball/[root@jpalace root]# tar xzvf Django-1.3.1.tar.gz[root@jpalace root]# cd Django-1.3.1[root@jpalace root]# python setup.py install설치된 버전 확인[root@jpalace data]# pythonPython 2.7 (r27:82500, Dec 10 201..
[웹사이트 만들기] (1) 파이썬Python 설치(2.7 버전으로 업그레이드)
2014. 12. 10.설치된 버전을 확인힌다.[root@jpalace root]# python[root@jpalace root]# Python 2.2.2 (#1, Feb 24 2003, 19:13:11) // 버전 2.2.2 가 설치되어 있다[GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-4)] on linux2Type "help", "copyright", "credits" or "license" for more information.파이썬 2.7을 다운로드하여 설치한다[root@jpalace root]# wget http://python.org/ftp/python/2.7/Python-2.7.tgz[root@jpalace root]# tar xzf Python-2.7.tgz[root@jpalace r..