간단한 질문 올립니다. 현재 하나의 서버에서 php, django를 써서 두개의 웹을 분

 
Jinoh Kim

간단한 질문 올립니다.

현재 하나의 서버에서 php, django를 써서 두개의 웹을 분리시키는데 공통된 하나의 큰 웹의 연결점으로 사용됩니다. 예를들어 index(php), cafe(php), snsweb(django)

이렇게 구성하다보니 php에서쓰는 db의 테이블을 django에서도 접근하고, django서비스용 자체 디비도 구성이 되게 됐는데, 현재는 multiple database와 dbrouter를 통해서 원하는 모델과 디비를 sync해서 테스트까지 했는데요,

친구의 말로는 django에는 south라는게 있는데 두가지중 어떤방식으로 하는게 맞는지 알려주시면 감사하겠습니다.

또 각 서비스마다 세션을 redis로 관리하게 될텐데 django에서 redis에 저장된 세션관리하는 좋은 튜토리얼 없을까요?

  • Woojing Seok

    세션을 cafe(php)와 공유해야하는게 아니라면 https://github.com/martinrusev/django-redis-sessions 이패키지만 설치, 설정하시면 별다른 수정 없이 사용하실수 있습니다.
    South같은경우에는 마이그레이션을 도와주는 패키지입니다. 위에 예를드신 다중 디비 사용과는 별다른 접점이 없어 보이네요 :p

    Jinoh Kim

    Woojing Seok 3개의 서비스가 메인인 인덱스에서 저장된 레디스 세션을 활용하는것도 이거 써도 가능할까요

    Woojing Seok

    그렇게 하시려면 저 패키지를 그대로 사용하실수 없습니다. 아무래도 장고용 세션미들웨어를 새로 짜셔야할거에요.

    Jinoh Kim

    Woojing Seok 로그인 데이터만 유지가 되면되는데 그것도 무리일까요

    Woojing Seok

    질문이 Django, PHP양쪽다 기존 구현의 수정없이 세션 통합을 할수있는 방법이 있냐는 것이라면 그런 방법은 없습니다가 답변 되겠습니다.
    Django, PHP. 둘중 어느한쪽이 세션구현의 기준이 되어야합니다. PHP로 많이 쓰고 있고 그쪽이 메인이 될것같으면 거기에 맞춰서 장고 세션미들웨어를 만드시는게 낫겠죠. 반대라면 PHP가 장고 세션에 맞추도록 하구요.

    Jinoh Kim

    Woojing Seok 흑.. 답변 감사합니다. 노력해봐야겠네요

Advertisements

settings.py에서 DEBUG = FALSE로 하고… runserver로 서버실

 
Han Cold Kim

settings.py에서 DEBUG = FALSE로 하고…

runserver로 서버실행하니 django admin접속시 css나 그런게 하나도 적용되지 않은것같은데요…

이거 어떻게 해결해야하나요…?

이런건 장고로 어떻게 구현해야할까요…? 사용자 쪽지함이 있고, 사용자가 일정을 등록하

 
Han Cold Kim

이런건 장고로 어떻게 구현해야할까요…?

사용자 쪽지함이 있고, 사용자가 일정을 등록하는데,

해당 일정을 기준으로 특정시점이 되면 사용자 쪽지함에 일정 알림을 넣어줘야하는데…

이런거 어떻게 가능할까요…?

예를들어 설명하면

‘장고 송년모임’이라는 일정을 12-28일 오후 6:00로 등록을하고, 등록된 시점보다 3시간 전에 쪽지함에 알림을 해주도록 하고싶은데요…

이런건 어찌 구현하면 될까요…?

sleep 같은 걸로 하면 절대 안될꺼같은데…

  • Jong-Geun Song

    크론

    Jong-Geun Song

    서버에 잡을 등록해 놓는 방법이죠!

    Chinseok Lee

    celery !

    임창민

    crontab에 대해 검색해보시면 찾아보실 수 있습니다.

    JongMan Koo

    Celery 쓰세요. 🙂

    남홍김

    celery 에서 celery beat를 쓰면 되요.

    Han Cold Kim

    셀러리 듣기만 해봤지… 이럴때 쓰는거군요! 감사합니다!

    Thomas Hyunsik Kim

    규모 있는 프로젝트면 셀러리 쓰시면 좋을 것 같고, 아니라면 크론잡으로 주기적인 스크립트 돌려도 괜찮을 것 같아요.

    Han Cold Kim

    그런데 크론탭으로 하는 경우엔 Thomas Hyunsik Kim님께서 말씀하신대로 주기적으로 스크립트를 돌리는 방식으로 알고있는데,

    그렇다면 제가 원하는 기능은 어떤 식으로 수행할수있는건가요…?

    db에 등록된 시간을 불러와서 그 시간 기준으로 어떤 코드를 실행해야하는데…

    이것과 크론탭이 적절하나요…?

    아… 셀러리도 크론탭과 같은 방식인가요…?

    JongMan Koo

    크론은 장고랑 상관없는 유닉스 유틸리티로, 임의의 스크립트나 프로그램을 수행할 수 있게 해 주죠. 따라서 해당 기능을 수행하는 manage.py 커맨드를 만들어서 실행하게 되고.. 셀러리의 경우에는 특정 함수에 데코레이터를 달아서 셀러리 태스크로 만들면 특정 시간에 해당 함수를 수행할 수 있도록 해줍니다. http://docs.celeryproject.org/en/latest/userguide/calling.html#eta-and-countdown

    JongMan Koo

    근데 사실 지금 말씀하신 사용례에서는 그냥 db에 다 넣어 놓고, 3시간이 되기 전에는 안보이도록 구현해도 되지 않나요? ㅋㅋ

    Han Cold Kim

    음 그 특정시점에 안드로이드로 push도 해야해서요…

    JongMan Koo

    그러면 셀러리가 정답일듯 하네요. ㅎㅎ

    Han Cold Kim

    감사합니다…

    Han Cold Kim

    근데 …. db에 넣어놓고 3시간 되기전에는 안보이도록 구현은 어떻게 하면될까요…? 잠시 생각해봤는데 안떠올라서…

    JongMan Koo

    뭐 그냥 effective_time 같은 필드를 추가해 놓고 view에서 쿼리할 때 effective_time이 현재 시간보다 작은 것들만 보이도록 하면 되겠죠?

    Han Cold Kim

    아 ㅋㅋㅋㅋ 아 그러면 되겠네요 ㅋㅋㅋ 간단한 방법이군요 ㅋㅋ

    Han Cold Kim

    김남홍님…! 질문있습니다… 지금 계속 살펴보고있긴한데요… 추천해주신 celery beat는 보니까 크론탭처럼 주기적인 작업이 필요할때 사용하는것같은데.. 그런용도가 맞나요…?

    남홍김

    김한기 네네 그런 용도 맞습니다.

음 혹시 오늘 상암동 누리꿈에서 하는 파이썬 세미나 오시는분 계신가요? 혼자가게되서 가시는

 
SeHun Na

음 혹시 오늘 상암동 누리꿈에서 하는 파이썬 세미나 오시는분 계신가요?
혼자가게되서 가시는분 계시면 얘기 좀 나누고 싶어서 글 적습니다.

안녕하세요. 처음 글 남겨봅니다. 전 지금까지 서버 개발을 하면서 주로 java와 php

 
Shin Gyusueb

안녕하세요. 처음 글 남겨봅니다.
전 지금까지 서버 개발을 하면서 주로 java와 php를 사용해왔는데요, 프레임워크를 사용한다 해서 크게 개발을 편하게 또는 빨리 한다는 느낌을 받지는 못했습니다.
예를들면 php의 경우 코드의 완성도가 떨어지는 경우가 많아 외부 라이브러리나 모듈을 가져다 쓸 경우 문제가 터지는 경우가 많았고, java play!의 경우엔 서드파티 모듈들이 framework의 버전업 속도를 따라가지 못해 활용 자체가 어려운 경우가 많았습니다.
django는 예전에 간단한 게시판, 블로그 정도만 만들어 보고 실제 서비스를 개발하는데 사용해 본적은 없는데요, 현업 개발자 분들이 느끼기에 django의 개발 환경과 분위기는 어떤가요?

  • Tae-lim Oh

    java로는 웹 개발을 해본 적이 없고 php로는 간단한 블로그 앱을 만들어 본 게 전부라 비교를 할 수는 없습니다만, 제게 django의 개발 환경은 상당히 쾌적합니다. Django로 개발한다는 것은 잘 정리 된 공구 상자를 들고 있는 느낌입니다. 웹 개발에 필요한 다양한 요소들이 안정적으로 정리가 되어 있습니다.

    Jack D You

    java > php > django 가볍고 복잡지 않은 순이라고 감히 말씀드립니다.. 셋팅하느라 파악하느라 시간보내는게 너무 아깝다는 생각이 들더군요

    박영록

    django가 좋다기보단 python이 좋죠. django는 뭐 그냥 실용적으로 쓸만합니다. 하지만, PHP 쪽은 프레임웍이 워낙 제대로 된 게 없기 때문에 PHP랑 비교하면 상대적으로 django가 매우 좋기도 합니다. 그나마 좋다는 Code Igniter조차도 오히려 PHP의 생산성을 깎아먹기도 하니까요.

    Jack D You

    맞아요 CI 한달 하다가 지쳤네요

    Shin Gyusueb

    답변 감사합니다. 앞으로 진행하는 프로젝트는 Django를 써야겠네요.

    Jeong YunWon

    개인적으로는 wsgi 설정하다 괴로웠던거 빼면 파이썬/장고 환경은 아주 괜찮았습니다

    Shin Gyusueb

    CI의 경우 최근 개발 트랜드를 전혀 따라가지 못하고 있는 등 여러 문제가 있습니다. 그래서 한동안 YII가 뜨더니 최근에는 Laravel이 강세입니다. PHP는 프레임워크가 워낙 다양하게 있고 그래서 제대로 자리잡은게 없는 것 같아요.

Two Scoops의 layout을 기본으로 GAE를 위한 Django 뼈대를 만들어보았습

 
Tae-lim Oh

Two Scoops의 layout을 기본으로 GAE를 위한 Django 뼈대를 만들어보았습니다.
지금은 최대한 가볍게 이용하실 수 있도록 제가 쓰는 앱들을 따로 넣지 않았습니다.
기초가 된 Two Scoops과의 가장 큰 차이는 GAE에서 Django 코드를 그대로 쓸 수 있도록 backend를 넣은 것입니다.

https://github.com/gluwa/gae-django-skeleton

이것을 기초로 저희가 사용하게 될 여러가지 기본적인 앱들을 넣은 버전을 만들어서 한번 더 공유하도록 하겠습니다.
아무쪼록 작업에 도움이 되시길 바랍니다.

  • Lim DongHyeon

    킹왕짱굳 자료네요.

    Tae-lim Oh

    올리자마자 또 엄청 업데이트 -_-;