[질문] templates 사용할때 HTML 태그는 반드시 XHTML이여야하나요? /> 태

 
ChangMin Lee

[질문] templates 사용할때 HTML 태그는 반드시 XHTML이여야하나요? /> 태그를 안쓰니 에러가발생하네요. doctype을 html로 바꿔도 에러가발생하는거 같아서요.

  • Taeho Kim

    어디서 어떤 오류가 발생하나요?

    ChangMin Lee

    templates사용해서 테스트중인데 Opening and ending tag mismatch: input line 0 and form 에러가 발생하네요. 태그마지막에 / 를 포함하니 처리되구요.

    Taeho Kim

    어, 그러니까 제 말은 그 오류가 나는 곳이 서버인지 아니면 브라우저인지 여쭤보는 건데요.

    ChangMin Lee

    흠…서버에서 에러가 발생하는듯한대요. 브라우저에서 확인은하고있지만..

    Taeho Kim

    서버 환경은 Django 테스트 서버인가요? 브라우저는 어떤 걸 쓰시나요?

    ChangMin Lee

    네 서버는 centOS djang1.3 python2.6이구요 브라우저는 크롬 파폭에서 확인하고있습니다.

    ChangMin Lee

    아…찾아보니 render할때 마지막에 content_type을 xhtml+xml 로 줬는데 이거때문인거같네요.

    Taeho Kim

    그렇겠네요. 🙂 브라우저에서 XML로 인식하고 파싱에 실패해서 생기는 문제였나봅니다.

    ChangMin Lee

    네..감사합니다^^

안녕하세요~이번에 openAPI 관련 oauth인증을 django로 만들어서 알려드립니다~

 
ChangMin Lee

안녕하세요~이번에 openAPI 관련 oauth인증을 django로 만들어서 알려드립니다~초보자분들위주로 설명을 적어서 쉽게느껴지시는 분들이 많을꺼예요^^ 소스코드또한 오픈소스로 공개했으니 필요하신분은 많이사용해주세요~피드백도 주시면 감사하겠습니다^^

  • Whoami Jeong

    멋져요!!! ㅋ

    ChangMin Lee

    넵 참고하겠습니다~현재 Daum OpenAPI는 OAuth1.0a 버젼이구요~앞으로 캘린더API+Django이용한 튜툐리얼도 올릴예정입니다~소스코드도 같이올라가니 코드 지적 많이해주세요^^ 파이썬 Django사용한지 얼마안되서 코드가 좀 지저분한감이 있어요ㅠㅠ

    Taeho Kim

    파이썬 oauth 라이브러리는 oauth2를 많이 쓰더군요. (이름은 2지만 1.0a 구현입니다. ~_~a)

    ChangMin Lee

    저도 처음에 햇갈렸다는. oauth1 라이브러리 찾고 그럤는데.ㅋㅋ 알고보니 이름만 oauth2 더군요.ㅋㅋ

상대 경로로 모듈 불러오기 (py2.5~)  <

 
Taeho Kim

상대 경로로 모듈 불러오기 (py2.5~)

 

현재 파일과 같은 디렉토리에 있는 모듈을 불러올 때 유용합니다. 예를 들어 views.py에서

 

    from .models import Post

 

라고 하면 같은 디렉토리의 models.py를 불러올 수 있습니다.

 

 

django.shortcuts 모듈

 

여러가지 편의성 함수를 제공하는 모듈입니다. 공식 튜토리얼에서는 render_to_response 함수를 쓰는데 그것보다 Django 1.3에서 들어간 render가 유용합니다. 다음과 같은 형식으로 씁니다.

 

    render(request, "template_path.html", {'context': 'variables'})

 

render_to_response와는 다르게 request 객체를 넘겨주도록 되어 있어서 따로 RequestContext를 만들지 않아도 템플릿에서 request나 user 등의 변수를 쓸 수 있게 됩니다.

 

그리고 또 한가지 유용한 것은 redirect 함수입니다. 예제를 보시면 쉽게 이해하실 수 있습니다.

  • redirect(object): object.get_absolute_url()로 이동
  • redirect('xyz.views.list', id=123): xyz.views.list view로 이동
  • redirect('/some/url/'): /some/url/로 이동
  • redirect('http://example.com/'): example.com으로 이동

 

모듈 불러오지 않고 ForeignKey에 이용

 

일반적으로 사용자에 속한 모델을 만들 때 다음과 같이 합니다.

 

    from django.contrib.auth.models import User

 

    class Post(models.Model):

        …

        user = models.ForeignKey(User)

        …

 

하지만 django.contrib.auth.models.User를 매번 불러오기가 참 귀찮죠. 외우기도 힘들고;;

 

그런데 사실 ForeignKey는 문자열도 받습니다. 그래서 모듈 불러오지 않고 그냥 models.ForeignKey('auth.User') 해도 같은 효과를 얻을 수 있습니다. 다른 경우도 마찬가지입니다.

 

 

추가 변수를 넘기면서 템플릿 인클루드 (Django 1.3~)

 

include 문에서 추가 변수를 넘겨줄 수가 있습니다. 특정 부분을 숨기거나 표시하는 데에 사용하면 유용합니다.

 

    {% include "_post.html" with show_user=1 use_thumbnail=1 %}

 

처럼 include를 하고 _post.html에서

 

    {% if show_user %}{{ post.user.username }}: {% endif %}

    {% if use_thumbnail %}

        <img src="{{ post.image.thumbnail_url }}" />

    {% else %}

        <img src="{{ post.image.url }}" />

    {% endif %}

 

같은 식으로 사용할 수 있겠죠.

 

굳이 True가 아니라 1로 한 이유는 True를 파싱하지 못하길래…-_-;; 참고로 말씀드리면 숫자 외에도 문자열이나 변수 또한 사용할 수 있습니다.

이번 달 초에 DjangoCon.eu가 있었군요. 시간나는대로 발표 자료 하나씩 읽어보고

 
Taeho Kim

이번 달 초에 DjangoCon.eu가 있었군요. 시간나는대로 발표 자료 하나씩 읽어보고 괜찮은 게 있으면 여기 공유하겠습니다.

  • Kyoungchan Lee

    오 저도 봐야겠군요 ^^ 좋은 자료 감사드립니다 ^^

    Taeho Kim

    Joker Ashal 그 자료는 http://reinout.vanrees.org/weblog/2011/06/06/large-mozilla-sites.html 과 함께 보시는 게 좋을겁니다. 슬라이드만 가지고 알 수 있는 부분이 좀 적어서요;;

    임대림

    오~ 좋은 정보 감사합니다. ^^

현재 모 서비스 관련 REST API를 django로 제작하고 있습니다. 데이터 관리 인터

 
Roger Smith

현재 모 서비스 관련 REST API를 django로 제작하고 있습니다. 데이터 관리 인터페이스는 Admin 모듈로 날로 먹고요.
전에 템플릿 삽질하면서 사이트 구축할때는 이게 뭐가 편한가 생각도 들었는데 외부 인터페이스 없이 이렇게 쓰니 단물만 빨아먹는지라 너무 편하네요.
성공적으로 적용시키면 레거시 DB도 django 안으로 넣으려고 합니다. 많은 리퀘스트도 잘 버틸수 있을지 조금 걱정되긴 합니다만…

  • Roger Smith

    대부분 간단한 DB 레코드 읽고 쓰는 작업이 전부입니다. 현재 레거시 시스템은 관리 인터페이스나 접근이 모두 PHP로 작성되어있고요. mod_wsgi 에 물릴 생각이었는데 흠… 조금 고민되네요.

    Myoung-Su Shin

    궁금해서 질문해 봅니다. 프로세스간의 데이터 공유를 어떻게 하시는 지 궁금하네요. +_+

    Sung Chan Lee

    저희 회사도 급하게 페이스북 연동거능하 웹페이지 민드는데 관리자 너무 잘되있어서 날로 먹었어요 ㅋㅋ

    Hyungyong Kim

    Sung Chan Lee 오타대왕~

    Roger Smith

    내일 실 서비스 들어갈텐데 트래픽 감당못하면 어쩌나 불안하네요. 사실 규모도 잘 모르지만요 ㅋㅋㅋ.DB에 오히려 더 부하가 많이 갈거 같기도 한데…

    Sung Chan Lee

    김형용 잠보대왕!!

    강병철

    Hyungyong Kim Sung Chan Lee 대왕대왕! ㅋㅋ. 아무튼 관리자 기능 때문에 급한 연구과제의 중간보고를 땜방할 수 있었던 기억이 나네요.

    Roger Smith

    저희 서비스가 붙어있는 플랫폼의 버그때문에 적용은 하늘로~ 남은 시간동안 서버 안/덜터지는 방법을 더 생각해 봐야겠네요.

정말 오랜만에 다시 장고를 공부 하고 싶어서 왔습니다. 잘 부탁드립니다. ^^

 
임대림

정말 오랜만에 다시 장고를 공부 하고 싶어서 왔습니다. 잘 부탁드립니다. ^^

  • Gisuck Kim

    반갑습니다. 잘 부탁 드리겠습니다. ^^

    Park Jong Pil

    네 저도 열심히 해야 하는데. 환영합니다

    Seil Oh

    앗. 오랫만입니다. ^^ 결국 여기서 다시뵙네요~

    임대림

    네 ~ 다시 뵙게 되는군요.. ^^ 반갑니다.