파이썬 질문인것같긴한데… 그래도 장고라서.. 여기에 질문드립니다…  https://

 
Han Cold Kim

파이썬 질문인것같긴한데… 그래도 장고라서.. 여기에 질문드립니다…

https://github.com/django/django/blob/6dca603abb0eb164ba87657caf5cc65bca449719/django/http/response.py#L445

위 행에서

self[‘Allow’] = ‘, ‘.join(permitted_methods)

이게 이해가 안되거든요…

현재 객체의 멤버변수에 Allow에 대입하는건가요…??

  • Suyeol Jeon

    permitted_methods 배열의 각 요소를 ‘,’라는 문자열로 합친 문자열을 리턴합니다.

    Suyeol Jeon

    print ‘-‘.join([‘a’,’b’,’c’]) # a-b-c

    Suyeol Jeon

    앗ㅋㅋ 질문을 잘못봤네요

    Seung-Hyo Seo

    self 라는 객체가 dict 가 아니지 않나요?

    Han Cold Kim

    다시 보고 답변해주세요 ㅋㅋㅋ

    Suyeol Jeon

    HttpResponseBase 클래스를 보시면 __setitem__ 함수 정의가 있습니다. (172라인)

    Han Cold Kim

    Seung-Hyo Seo네 그렇죠 그래서 저도 저 행을 모르겠는거에요…

    Suyeol Jeon

    obj[‘key’] = value 방식으로 key-value를 assign 할 때, 파이썬 내부에서 __setitem__ 메서드를 호출합니다.

    Suyeol Jeon

    __setitem__과 관련된 부분은 파이썬 레퍼런스를 참조하시면 될 것 같습니다: http://docs.python.org/2/reference/datamodel.html#object.__setitem__

    Han Cold Kim

    오오 완벽 이해! 전수열님 감사드려요!

    Han Cold Kim

    역시 전수열님은 저랑 클라쓰가 다르네요. 저는 저런 문법 생전 처음봤는데 ㅋㅋㅋ

    Suyeol Jeon

    저도 예전에 dict인줄 알고 저 방법으로 값을 대입했던 적이 있었는데, 그 때 에러메시지가 __setitem__ 메소드가 없다고 나오더라구요 ㅋㅋ 그때 궁금해서 검색해봤다는…ㅋㅋㅋ

Python 3.4, Django 1.7에 MySql을 DB로 사용하려고 합니다.

 
Giwon Jang

Python 3.4, Django 1.7에 MySql을 DB로 사용하려고 합니다.

settings.py에 ‘ENGINE’: ‘mysql.connector.django’ 와 같이 설정하고 연결해보려해도 runserver 시에 ImportError: No module named ‘mysql’ 에러가 나면서 안되네요. ‘ENGINE’: ‘django.db.backends.mysql’ 로 설정해도 마찬가지군요…

PyMySql 과 같은 커넥터를 깔아봐도 해결이 안됩니다.

Django 초보다 보니 MySql 을 DB로 쓰고자 할 때 일반적인 방법이 뭔지 몰라서 질문 드립니다.
도와 주실 분 계신가요?

  • Chinseok Lee

    # settings.py
    DATABASES = {
    ‘default’: {
    ‘ENGINE’: ‘django.db.backends.mysql’,
    ‘NAME’: ‘DB_NAME’,
    ‘USER’: ‘DB_USER’,
    ‘PASSWORD’: ‘DB_PASSWORD’,
    ‘HOST’: ‘localhost’, # Or an IP Address that your DB is hosted on
    ‘PORT’: ‘3306’,
    }
    }

    HOST/PORT 는 생략 혹은 빈 문자열로 두시면, 디폴트 값으로 localhost/3306 으로 설정됩니다.

    그리고, mysql database 를 생성하실 때에는 utf8 인코딩으로 생성해주세요. django 에서는 기본 인코딩으로 utf8 을 사용합니다. (다른 거의 모든 웹프레임워크도 마찬가지입니다.)

    Giwon Jang

    이진석 답변감사합니다. 물론 그렇게 설정을 했습죠… ImportError: No module named ‘MySQLdb’ 에러가 납니다. 혹시 추가로 설치해야하는 모듈이 있나요?

    KyungHoon Kim

    Virtualenv가 되어 있다거나 하는 환경 부분도 체크해 주세요

    Giwon Jang

    KyungHoon Kim Virtualenv는 사용하지 않고 있습니다.

    Chinseok Lee

    예. django 이외에 db 라이브러리를 추가로 설치해주셔야 됩니다.
    mysql 라이브러리가 많이 있지만, MySQL-python 를 설치해보세요.
    pip 를 쓰신다면 sudo pip install MySQL-python 하시면 됩니다.

    Chinseok Lee

    윈도우를 쓰신다면 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 에서 받아서 설치해보세요.

    Giwon Jang

    이진석 OS X를 쓰고 있습니다. pip3로 MySQL-python 를 설치하려고 하니 ImportError: No module named ‘ConfigParser’ 에러를 또 만나게 되네요;;

    Chinseok Lee

    아. MySQL-python 이 python3 를 지원하지 않는군요.
    직접 써보진 않았습니다만
    https://github.com/PyMySQL/PyMySQL 이나
    https://github.com/davispuh/MySQL-for-Python-3 를 써 볼 수 있겠네요.

    Giwon Jang

    이진석 네 Python3는 지원하지 않네요. PyMySql도 설치해봤지만 여전히 같은 증상이네요.

    Yang BeomSu

    이게 해답이 맞는건진 잘 모르겠습니다만 제가 올렸던글 한번 보셔요
    http://yangbeom.tistory.com/1

    Yang BeomSu

    mysql 공홈에서 받은 connector로 사용한것이구요 python3.3+django1.6 을 사용했던것으로 기억합니다.

    Chinseok Lee

    아. mysql connector/python 은 파이썬3 을 공식지원하는군요.
    MySQLdb 는 비공식적으로 파이썬3 port 가 있지만, 현재 운영되고 있진 않은가 봅니다.
    https://docs.djangoproject.com/en/dev/ref/databases/#mysql-db-api-drivers

    Giwon Jang

    모든 분들 감사합니다. Mysql connector/python 을 사용해서 일단 초기화 오류는 해결했습니다. 제 DB가 원격지에 있고 ssh 연결만 허용하도록 되어 있어서 바로 연결은 안되고ssh 터널링을 별도로 설정해야하나 보네요. ㅜ.ㅜ 한가지 더 궁금한 것이 별도의 커넥터를 설치하지 않으면 Python3에서 MySql을 기본적으로 지원하지 않는건가요? django 공식 문서에는 ‘ENGINE’: ‘django.db.backends.mysql’ 을 쓰면 된다고 하는데 왜 안되는건지 도무지 알수가 없군요. django + Mysql 조합을 많이 안쓰는건지 자료도 많지가 않아서 답답~~ 하네요 ^^;

    Chinseok Lee

    https://docs.djangoproject.com/en/dev/ref/databases/#mysql-db-api-drivers 를 참고하시구요.

    django 외에 db 라이브러리를 추가로 설치해주셔야 됩니다. django.db.backends.mysql 에서 MySQLdb 를 import 해서 씁니다.
    https://github.com/django/django/blob/master/django/db/backends/mysql/base.py#L15

    django 와 함께 mysql 도 많이 씁니다. 단지 mysqldb 에서 파이썬3를 아직 공식지원하지 않는 것 뿐입니다. django 가 postgresql 을 기준으로 개발되기 때문에, mysqldb 에서의 파이썬3 지원이 더뎌지는 것일 수도 있겠네요.

    Giwon Jang

    @이진석 아.. 그렇군요. 설명 감사합니다.

현재 125분중 개발,디자인,기획 비율이 2:2:1 정도인듯 합니다. 디자이너분들의 참여

 
이강훈

현재 125분중 개발,디자인,기획 비율이 2:2:1 정도인듯 합니다.

디자이너분들의 참여가 너무 높네요.
개발자 분들이 좀더 참여를 해주시면 좋을듯 하네요.

함께 재미난 것 한번 해보실분들은 적극적인 참여바랍니다.~ ^^

http://fb.com/groups/648831668482908/

—-
IT를 통해 재미난 세상을 만들어 보실 분들을 모집합니다.

린~ 한 방식으로 함께 해 보려고 하고요.
시간을 두고 장기적인 관점에서 한발한발 함께 나아가 보려고 합니다.

이런저런 재미난 것들을 만들어 보려고요.
시간과 돈에 너무 구애받지 않고,
무엇이든 만드는 데에 급급하지 않고,
‘만들고 싶은’ 것을들 ‘제대로’ 만들어 보고 싶습니다.

혼자 하려다 보니 지치기도 하고,
무엇인가 2%로 부족함을 느꼈던 분들과 함께 하고 싶습니다.

직장 때려치우고 올인 하신 분들은 정중히 거절하겠습니다.
조금은 여유롭게, 그렇지만 느슨하지 않게,
한발한발, 무엇인가에 쫓기지 않고,
그렇게 함께 멀리 가고자 하는 분들과 함께 하고 싶습니다.

돈은 많이 벌려고 노력하겠지만,

많이 버는 것 자체보다,
잘 쓰는것에 관심이 있는 분들,

돈을 잘 쓰는 것보다,
열정을 쏟을 수 있는 무엇인가를 함께 그리고 재밌게 만들어 가는 것에 더 큰 재미를 느끼는 분들과 함께 하고 싶습니다.

아래와 같은 분들의 참여를 희망합니다.

개발자
개발 경험이 좀 있었으면 합니다. 무엇인가를 만들어 보고자 하는 만큼 어느정도 역량을 갖춘 분들의 참여를 희망합니다. 3년 이상정도 개발경력이면 크게 문제되지는 않을 듯 하네요. 그리고 디자이너와 기획자의 책임과 권한에 대해서 고민할 줄 아는 분들이었으면 하고요.

디자이너
디자인 실무 경력이 1년 정도 이상이었으면 합니다. 실력만큼이나 협업에 대한 이해도가 어느정도는 되어야 개발자들과 이야기를 나눌 수 있을듯 하네요. 서로간에 정신세계가 많이 상이하니… ^^;
그리고, 저희가 예술을 하려고 하는 것이 아님에, 산업디자인과 예술디자인의 차이를 구분할 줄 아시는 분이었으면 합니다. 물론, 예술디자인을 무시하는것이 아닙니다. 사실 정확하게는 그 차이를 잘 알지도 못합니다. ^^;

기획자
기획 실무 경험 3년이상 되시는 분들의 참여를 기대합니다. 문서 표현능력과 협업 프로세스에 대한 이해도가 높으신 분들, 그리고 현실성 있고 창의력 넘치는 아이디어를 구체화 하는데에 자신있는 분들이어야 겠죠. 그리고, 필수적인 부분인데… 기획자가 디자이너와 개발자에게 무엇인가를 시키는 직책이 아님을 인지하시는 분이었으면 합니다. 본인의 역할에 대해서 명확하게 기술할 수 있는 분의 참여를 기대합니다.

혼자 가면 빨리가지만,
함께 가면 멀리갑니다.

함께, 그리고 멀리 가고 싶습니다.

위의 글을 읽고 조금이라도 관심 느끼시는 분 계시면 페북 메시지 혹은 아래 이메일 주소를 통해서 연락주세요. ^^

http://fb.com/groups/648831668482908/


Django에서 파일 다운로드 기능을 만들려고 합니다. view에 요청을 해서 만들어진 데

 
정용훈

Django에서 파일 다운로드 기능을 만들려고 합니다.
view에 요청을 해서 만들어진 데이터를 바로 txt파일로 다운로드 받으려고 하는데요.
참고할 만한 예제 괜찮은게 없을까요?? 구글링 해봐도 딱히 마땅한게 보이질 않네요.ㅠ.ㅠ

  • Jamie J Seol

    음…. 테스트 해보진 않았지만 response header만 제대로 되어있으면 클라이언트가 해줄 수 있지 않나요? 구글링 해보니 https://github.com/johnculviner/jquery.fileDownload 이런애들이 나오네요

    Chinseok Lee

    https://docs.djangoproject.com/en/dev/ref/request-response/#telling-the-browser-to-treat-the-response-as-a-file-attachment

    위 링크에서 엑셀 다운로드는 다음 코드와 같습니다.

    >>> response = HttpResponse(my_data, content_type=’application/vnd.ms-excel’)
    >>> response[‘Content-Disposition’] = ‘attachment; filename=”foo.xls”‘

    content_type 부분이랑 filename 부분만 변경하시면 됩니다.

    Hyunjun Kim

    리스폰의 헤더가 브라우저가 보여줄 수 있는 타입(html이라던지, 이미지나, text/plain 등)이면 그대로 보여주고, 아니면 보통 다운로드가 됩니다.

    정용훈

    답변 감사드립니다. 다운로드 되게는 구현했는데 소스는 알려주신거 보면서 정리좀 해봐야 겠습니다.

초보자를 위한 Django 강좌를 개설 중인데, 예제로 사용하는 소스코드를 공개해두었습니다

 
박영록

초보자를 위한 Django 강좌를 개설 중인데, 예제로 사용하는 소스코드를 공개해두었습니다. 실제로 제가 개발해가는 과정을 그대로 기록해두었기 때문에 변경기록만 따라가봐도 초보자들에게는 도움이 될 겁니다. https://github.com/youngrok/minishop/commits/master

참고로, 제가 https://github.com/youngrok/autogit 이걸 만든 이유가 개발 과정을 그대로 기록하려는 용도였죠. autogit으로 모든 개발과정을 자동으로 commit한 후 git rebase -i 명령으로 commit 히스토리를 정제해서 만든 결과물입니다. 아직 git rebase는 몹시 노가다라는 생각이 들긴 하지만, 그럭저럭 괜찮았던 듯 하네요.

  • Geun Yeong Jo

    와. 엄청 편하네요. 감사합니다. 어떤게 바뀌었는지 딱딱 알 수가 있으니 초보가 따라하기에는 엄청 쉽네요.

    Jamie J Seol

    오 히스토리로 강의를….