2010-01-20 4 views

답변

1

이 답변은 사용자가 검색 할 수있는 답변이 아닐지 모르지만 모든 RSS 언어는 매우 단순한 표준입니다 (0.9 및 2, 특히 1에 대한 제약 조건 포함).

당신이 이미 장고를 사용하거나 더 가까운 장래에 더 복잡해 지거나 자동으로 배포되어야하거나 원하는 다른 제약 조건이 없다면 직접 작성하는 것을 고려해 볼 수 있습니다. 한 번에 RSS 1, RSS 2 및 Atom을 만들 수 있으며 3 가지 사양을 읽을 시간이 없습니다.

사양 :

12

난 당신이 템플릿을 사용하여 템플릿 항목의 목록을 공급 좋습니다. 템플릿에 콘텐츠를 공급하는

<?xml version="1.0" encoding="utf-8"?> 
<feed xmlns="http://www.w3.org/2005/Atom"> 
    <author>Author's name</author> 
    <title>Feed title</title> 
    {%for item in items %} 
    <entry> 
     <title>{{item[0]}}</title> 
     <link href="{{item[1]}}"/> 
     <content type="html">{{item[2]}}</content> 
    </entry> 
    {%endfor%} 
</feed> 

코드 :

Jinja2 템플릿 항목이 3 튜플 (제목, 링크, HTML)임을 가정 (아톰하지 RSS,하지만 당신은 아이디어를 얻을) 결과를 출력하십시오 :

import jinja2 
env = jinja2.Environment(loader=jinja2.FileSystemLoader(".")) 
print env.get_template("feedtemplate.xml").render(items=get_list_of_items()) 
+0

항목 [0] 또는 항목 [2]에 XML과 같은 HTML 엔티티 (예 : ©)가 들어 있으면 피드가 올바른 형식이 아닙니다. http://www.alexatnet.com/articles/reference-undefined-entity-error-xml-file –

+0

을 참조하십시오. 일반적으로 제목이나 HTML에는 HTML 엔터티가 없습니다. 정상적인 유니 코드 문자열이 있습니다. – codeape

관련 문제