[컴][웹] 구글 앱 엔진 web app 대신에 Django 이용하기 6 - rss feed 만들기







Django 에서 rss feed 를 만들어 보도록 하죠.

우리가 할 작업은 특정 URL 을 입력하면, page 대신에 rss feed 를 보여주는 page를 작성할 예정입니다.

mapping url to page

먼저 특정 url 을 특정 page 로 mapping 하도록 하죠.(여기서는 http://populmap.appspot.com/muchart/rss 로 할 것입니다.)

url 의 값을 이용

url 의 값을 id 등으로 활용하고 싶을때가 있죠. 예를 들면,
  • http://test.com/tv-chart
  • http://test.com/radio-chart
같은 경우에 tv-chart, 와 radio-chart 를 argument 로 사용해서 page 를 구성하는데 사용하고 싶을 수가 있습니다. 이런 경우에는 urls.py 와 view.py 를 아래와 같이 수정해 주면 됩니다.

그러면 이제 rssPage 에서 chart_id 에 tv-chart 값이 넘어갈 것입니다.

# view.py
def rssPage(request, chart_id):

# urls.py
(r'^rss/(?P<chart_id>tv-chart)$', 'rssPage'),



Implementation the page

그 다음에 할 일은 page 구현
from django.http import HttpResponse
HttpResponse(rssdata, mimetype="application/rss+xml")

HttpResponse 가 바로 rssdata 를 http response 에 실어주는 역할을 하죠.[ref. 1]
그리고 rss feed 의 xml type 은 "application/rss+xml" 이랍니다.[ref. 2]

RSSGen

rss feed 를 만들어주는 module 을 이용 해 보죠. 저는
PyRSSGen
을 이용했습니다. 파일 하나만 이용하면 되기 때문에 간편하고 좋네요.



Result

그리고 마지막으로 test 를 하면 되겠습니다. local 에서 test 를 하면 아래와 같이 보이네요.

image



Reference

  1. http://stackoverflow.com/questions/9262278/django-view-returning-json-without-using-template
  2. http://stackoverflow.com/questions/595616/what-is-the-correct-mime-type-to-use-for-an-rss-feed
  3. http://www.dalkescientific.com/Python/PyRSS2Gen.html

댓글 없음:

댓글 쓰기