GDG Busan, Python Django 스터디 #3

{Ch2, Ch3} 반복!

  • 다들 '풀스택 프레임워크'를 처음 다루다보니 '구조'에 익숙해지기 쉽지 않았습니다. 코드 한 줄 작성한적 없는데 생각보다 너무 쉽게 되는 것 같아 신기하면서 한편으론 이게 왜 되는거지? 하는 뭔지 모를 '답답함'이 공존했지만, 일단은 '장고'와 친해지는 과정이 우선이라 생각해서 이전에 했던 내용을 다시 반복했습니다.
  • 많은 친구들 (모델형, 뷰형, 템플릿형)과 서로 반갑게 인사를 나눌 수 있었는데, 아직은 규식이형(a.k.a 정규식, regular expression)과는 친해지기 힘들었습니다. 스크린 캐스트를 보시면 아시겠지만 방황하는 마우스와 답답한 커서를 urls.py에서 확인하실 수 있습니다.

네임스페이스 오류?!

  • ch2와 ch3를 하나의 프로젝트에 합치는 과정에서 생소한 오류가 발생했습니다.
NoReverseMatch at /bookmark/  
Reverse for 'detail' with arguments '(1,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []  
Request Method:    GET  
Request URL:    http://localhost:8000/bookmark/  
Django Version:    1.10.2  
Exception Type:    NoReverseMatch  

에러 이름에서 확인하실 수 있듯이 뭐가 '안 맞아서' 에러가 났다고 합니다. 'detail'과 관련된 내용인 것 같고 느낌이 네임스페이스쪽 문제인 것 같아서 detailbookmark:detail로 변경하니 잘 작동했습니다. 버그를 대충 때려잡은 것 같네요. 네임스페이에 관련된 내용은 이곳에서 확인하실 수 있습니다.

{% for bookmark in object_list %}
    <li><a href="{% url 'bookmark:detail' bookmark.id %}">{{bookmark }}</a></li>
{% endfor %}

Oct10월 그리고 10

  • urls.py에서 Oct부분을 처리하는 정규식을 수정하기로 했습니다. 세팅에서 'ko-kr'로 변경했기 때문에 날짜와 관련된 부분에서 Oct라고 나올리 없기 때문입니다. 로케일을 변경했기 때문에 10월 이렇게 출력될 수 있도록 일단 출력 포멧부터 변경했습니다.
month_format = '%m'  
  • pytz가 필요하다는 에러를 보시면 'pip install pytz'로 설치해주시면 됩니다.
ImproperlyConfigured at /blog/2016/  
This query requires pytz, but it isn't installed.  
  • 10월로 표기되는 걸 URL에서 10으로 처리하도록 수정했습니다. 요일이나 날짜에 관련된 표현방법은 이곳을 참고하세요!
url(r'^(?P<year>\d{4})/(?P<month>\d{1,2})/$', PostMAV.as_view(), name='post_month_archive'),  
url(r'^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$', PostDAV.as_view(), name='post_day_archive'),

연습은 모여서!

  • 집에서 뭔가 열심히 하기 보다는 다 같이 모여서 으샤으샤! 하다보니 쉽게 해결되었습니다. 이런 경험 덕분에 다 같이 모여서 공부하는 것 같습니다.

  • 소스코드는 github에 올려두었습니다.

  • 스크린 캐스트는 이곳 에서 확인하실 수 있습니다.

  • 교재 ' 파이썬 웹 프로그래밍 실전편 - Django(장고)를 활용한 쉽고 빠른 웹 개발' (ebook, ) 입니다.