Nitrous.io 라는 서비스가있는데요. 무료로 django, go, rails, nod

 
HyunJin Moon

Nitrous.io 라는 서비스가있는데요. 무료로 django, go, rails, node js 인스턴스 만들어 서쓸수 있습니다. 개인용 프로젝트, 테스트 프로젝트 등에 유용합니다.

어느정도는 무료기 때문에 돈 이안들어서 좋습니다.

아래 리퍼러로 들어가서 가입하시면 저에게 도움 이됩니다.

Advertisements

안녕하세요. 이제 장고 초짜입니다. url관련 질문드리겠습니다. app을 home1

 
Hyunwoo Lee

안녕하세요.

이제 장고 초짜입니다.
url관련 질문드리겠습니다.

app을 home1 이라고 만들었을때 해당 사이트의 내용은 abc.com/home1으로 접속을 하면 됩니다.
저는 abc.com이라고만 입력하면 home1의 내용이 나오게하려고 하는데요.
import home1 from views를 선언하고 url.py에서 url(r’^$’, views.IndexDataView, name=’index’), 를 입력해서 home1의 index가 나오게 했습니다.

보통 이런 경우 어떻게 하는게 좋은 방법일까요?

  • Han Cold Kim

    지금 사용하신 방법이 좋은 방법 같은데요…?

    Hyunwoo Lee

    김한기 아 그런가요? django는 첨이고 아직 잘 모르다 보니 혹시나 더 좋고 깔끔한 방법이 없나 싶어서요…^^;;;;

    Han Cold Kim

    https://docs.djangoproject.com/en/1.6/intro/tutorial03/#write-your-first-view 여기에도 보면 이현우님하고 똑같이 했네요

    Hyunwoo Lee

    김한기 한기님의 글은 polls/url.py에서 고요.
    저는 해당 글과 달리 mysite의 url.py에서 from polls import views를 추가해서 url(r’^$’, views.IndexDataView, name=’index’), 이러게 url을 구성했습니다.

    Han Cold Kim

    아 그얘기를 하시는 거였군요… 어째든 하신 방법이 맞는것같네요. 저도 index는 프로젝트의 urls.py에 하긴 합니다…

    Hyunwoo Lee

    김한기 아~~답변 감사합니다. 아무도 없이 혼자하다보니…되긴 하는데 맞는건가? 하는 의문이 있었거든요. ^^;;;

    Chinseok Lee

    / 에서 /home1/ 으로 redirect 시키는 방법도 괜찮을 듯 하네요.

    from django.views.generic import RedirectView
    url(r’^$’, RedirectView.as_view(url=’/home1/’)),

    Han Cold Kim

    와우… 리다이렉트 뷰라는것도 있었군요…

Celery 관련 질문드립니다. 현재 Redis를 브로커로 사용하고 있는데요. Celery

 
Jacob Seongwoon Lee

Celery 관련 질문드립니다.
현재 Redis를 브로커로 사용하고 있는데요. Celery를 키면 Redis와 정상적으로 연결 되고, 만들어둔 task가 Celery Tasks에 등록이 되는데요.
task를 delay로 콜 했을 때, Celery가 task를 수행하지 않고, 웹 서버가 일을 처리합니다. (Celery를 안탑니다.)
왠지 알고보면 간단한 문제일거 같은데.. 뭘까요..

  • Jacob Seongwoon Lee

    왠지 간단한 문제일거 같았는데.. dev모드의 셀러리 세팅 때문인듯 합니다.

    남홍김

    아아…. CELERY_ALWAYS_EAGER 때문이었군요.

pycharm 쓰시는 분들 계신가요? 며칠전부터 에디터가 이름이 “urls.py”인 것만

 
Lim DongHyeon

pycharm 쓰시는 분들 계신가요?
며칠전부터 에디터가 이름이 “urls.py”인 것만 python file로 인식을 못하는 것 같습니다. 기존의 urls.py 를 urls1.py로 바꾸면 제대로 나오고
새로 파일을 xxx.py 로 만들어도 제대로 나오는데 urls.py로 이름을 바꾸기만 하면… 저렇게 그냥 일반 파일처럼 나오네요.
무엇이 잘못되었을까요? 뭘 잘못 건드렸는지 모르겠네요.

  • Ui-Gyun Jeong

    ㅜㅜ힘내요

    남홍김

    제가 맥 환경이라서 맥 환경 위주로 설명드릴게요. pycharm 메뉴에서 Preferences 에 들어갑니다. 그러면 설정 모달이 뜰텐데요. 거기서 File Types 이라는 메뉴를 찾습니다. 리스트가 나올텐데요. Text Files를 찾습니다. 그러면 거기에 urls.py 라는 파일명이 지정되었는지를 보시면 되겠습니다.

    Lim DongHyeon

    남홍김 오…………….. 남홍님 사..사… 좋아합니다.

    남홍김

    임동현 ㅎㅎㅎ 거절! 해결 되셨나요? 밖이신 듯?

    Lim DongHyeon

    아니요 집이에요 ㅎㅎ 침대에 있다가 바로 해결하고 다시 누웠습니다

    Lim DongHyeon

    감사합니다. 아 이것때문에 지우고 다시 설치해버릴뻔 했네요….

    남홍김

    🙂 별거 아닌데 도움이 되었다니 다행이네요.

기본적으로 Django의 관리자페이지는 http://mydomain.com/admin 식으

 
Seokmoon Jang

기본적으로 Django의 관리자페이지는 http://mydomain.com/admin 식으로 주소 뒤에 admin을 붙여서 들어가게 되는데 이런 식으로 운영도 가능할까요?

사용자측 주소 : http://mydomain.com/
관리자페이지 : http://backend.mydomain.com/

단독으로는 할 수 없고 웹서버 설정이 필요하다면 어떻게 설정해야 할까요?

  • Yuk Seungchan

    Admin만 돌아가는 settings 따로만드셔서 nginx나 apache랑 연동하면 가능 할것 같네요:D

    Kenial Lee

    전에 잠시 고민해 본 바로는, http://backend.mydomain.com -> http://mydomain.com/admin으로 포워딩하도록 웹서버에서 구성하는게 가장 일이 적은 것 같더라구요. /admin 패스에 접속을 시도하는 나쁜 놈들(…)이 싫으시다면 /admin 패스 경로만 urls.py에서 다른 걸로 변경하시면 되고요 🙂

    Seokmoon Jang

    이수겸 한 도메인에서 운영하는 것이라면 패스경로만 바꾸는게 편하지요. 그런데 frontend와 Backend를 분리해서 운영하는게 목적이라서요.일종의 제약사항이랄까….

    Kenial Lee

    흠… 그런거면 어차피 별도의 django instance를 각각 운영하는 셈이니, backend를 담당할 호스트에서 admin 앱을 / 패스에 할당하면 되지 않을까요? 그러면 애초에 웹서버 설정조차도 필요 없고 서브도메인에 호스트 ip만 맞게 할당해주면 되겠죠. front/back이 동일 호스트에 존재하는 경우라고 하더라도 각각 다른 django app으로 실행하고 별도 포트에서 동작하되, nginx에서 도메인에 따라 맞는 app으로 연결해주면 될 것 같은데요.

    Julian Yoonhong Ju

    가능한데요…

    Julian Yoonhong Ju

    일단, /admin은 결국 django default에서 붙여준 url이니까, 결국 아무거나 매핑해도 상관은 없는걸로 알고 있습니다. 이걸 루트에 붙여버리면 되고…
    한 django instance로 여러 사이트를 운영하는것은 원래부터 가능했던걸로 알고 있습니다.
    그러니까 /admin없는 걸 SITE_ID = 1, 그리고 root에 admin을 붙인걸 SITE_ID=2이런식으로 설정하면 가장 간단 할것같은데요

    Seokmoon Jang

    Julian Yoonhong Ju 흠… 그 부분은 좀 더 찾아봐야겠네요.

    Seokmoon Jang

    육승찬 이수겸 Julian Yoonhong Ju 모든 분들 감사합니다.

ipdb> django.utils.timezone.get_default_timezone()

 
Han Cold Kim

ipdb> django.utils.timezone.get_default_timezone()

이렇게 나오는데… 이렇게 나오는게 맞나요…?

project/settings.py에 TIME_ZONE는 ‘Asiz/Seoul’로 지정하고

USE_TZ = True 해주면

model의 datetime속성 알아서 localization될 줄알았는데

그게 아닌것같네요…;;

아니면 또 설정해줘야 하는 부분이 있는건가요…?

문서를 읽어봐도.. 깔끔한 내용을 못찾겠네요…

  • Chinseok Lee

    get_default_timezone 소스코드를 보니 pytz 가 설치되어있어야, settings.TIME_ZONE 를 참조하네요.
    https://github.com/django/django/blob/master/django/utils/timezone.py#L177

    https://docs.djangoproject.com/en/dev/topics/i18n/timezones/ 에 설명이 잘 되어있습니다.

    Han Cold Kim

    이미 pytz가 설치되어있고,

    localization이 아예 안되고있는줄 알았더니

    장고 admin에서는 또 localization이 잘 되고있네요…

    지금 제가 원하는 동작은

    model의 dateime속성을 date로 변환시켜서 json으로 response를 해주는데요,

    date로 변환하기 전에…

    해당 datetime를 찍어봤더니…

    datetime.datetime(2014, 5, 4, 13, 4, 23, tzinfo=)

    tzinfo가 UTC로 되어 있는데…

    이걸 UTC+9로 하고 그에 대한 날짜 및 시간도 적절히 계산되게 하고싶은데…

    Han Cold Kim

    그리고… pytz버그가 좀 있는것같네요…

    pytz.timezone(‘Asia/Tokyo’)

    하면 +9 제대로 나오는데

    pytz.timezone(‘Asia/Seoul’)

    서울로 하면… +8시 28분… ㅋㅋㅋ

    Chinseok Lee

    datetime 에 대한 timezone 변환은 템플릿 단에서 수행됩니다. admin 페이지도 템플릿을 거쳐서 보기 때문에 변환되어 보이는 것이구요.
    https://docs.djangoproject.com/en/dev/topics/i18n/timezones/#time-zone-aware-output-in-templates

    json 응답을 하실 때에는 따로 localtime 변환을 해주시면 됩니다.
    from django.utils.timezone import localtime
    response = { ‘time’: localtime(utc_datetime) }

    —-

    http://tumblr.everyevery.net/post/43373522622/python-timezone

    Kenial Lee

    28분은 조금 이상하네요; 서울의 timezone offset을 도쿄보다 느린 시간으로 잡아야 한다는 의견이 예전부터 있어서 +8:30으로 하는 경우도 있을겁니다만 실제로는 +9에 맞추다보니 … Asia/Tokyo을 대신 사용하는 경우가 있다고 들었습니다.

    그리고 현재 로컬의 tz이 적용된 datetime을 구하려면 위에 진석님이 말씀하신 것처럼 locatime을 사용하시면 됩니다. 간단하게는 이렇게요:

    django.utils.timezone.localtime(django.utils.timezone.now())

    Han Cold Kim

    답변 감사합니다!

안녕하세요. 장고 초보가 질문 좀 드리께요. class based view관련해서 장고

 
Ui-Gyun Jeong

안녕하세요. 장고 초보가 질문 좀 드리께요.

class based view관련해서 장고 튜토리얼이나 검색을 해보면

class based view를 사용할 때 def로 메서드를 만들어서 사용합니다.

근데 아무리 찾아도 만들어는 놨는데 사용하는 부분을 찾을 수 없어서 지금 헤매고 있습니다.

장고는 이걸 어떻게 알고 메서드를 불러와서 사용하죠?

  • Han Cold Kim

    https://docs.djangoproject.com/en/1.6/topics/class-based-views/#simple-usage-in-your-urlconf

    요런식으로 쓰는거에요

    /about 요청에 들어왔을때 request를 TemplateView로…

    Chiwan Park

    View.as_view() 로 urls.py에 등록할 때 HTTP method이름으로 된 메서드를 찾아서 등록합니다.

    남홍김

    브라우저에서 get 이나 post와 같은 요청이 들어오면요. ‘View’라는 클래스에서 요청별로 get 메소드나 post 메소드를 호출하도록 합니다. View 클래스 안에 dispatch 메소드를 보시면 이해가 되실 겁니다. 예를 들어 ListView는 View 클래스 + 여러 믹스인 클래스를 상속받은 클래스입니다. 이때 외부에서 get 요청이 들어오면 get 메소드가 실행되는데 그 안에 관련된 메소드들이 순서대로 호출하면서 마지막에 사용자 브라우저에 반환되는거죠.

    Ui-Gyun Jeong

    아 감사합니다. 덕분에 이해가 조금 되고 있습니다.
    Because Django’s URL resolver expects to send the request and associated arguments to a callable function, not a class, class-based views have an as_view() class method which serves as the callable entry point to your class. The as_view entry point creates an instance of your class and calls its dispatch() method. dispatch looks at the request to determine whether it is a GET, POST, etc, and relays the request to a matching method if one is defined, or raises HttpResponseNotAllowed if not: