Changeset 19

Show
Ignore:
Timestamp:
02/07/08 17:11:27 (1 year ago)
Author:
nobu
Message:

fixed #9

  • RSS2.0で実装。
  • テストの更新。
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/blog/tests.py

    r16 r19  
    489489            self.assertEqual([o.id for o in object_list], [c.id for c in checked_list]) 
    490490             
     491 
     492    def test_entry_feed(self): 
     493        """ 
     494        Test feed latest. 
     495        """ 
     496        url = '/feeds/rss2/' 
     497        #   send request. 
     498        response = self.client.get(url) 
     499        #   check status code. 
     500        self.assertEqual(response.status_code, 200) 
     501        #   check content type. 
     502        self.assertTrue(response.has_header('Content-type')) 
     503        self.assertEqual(response['Content-type'], u'application/rss+xml') 
     504        #   check context 
     505        checked_list = Entry.objects.filter(is_published__exact=True)\ 
     506                                    .filter(is_active__exact=True)[:30] 
     507        for idx, ctx in enumerate(response.context): 
     508            self.assertTrue(ctx.has_key('obj')) 
     509            self.assertTrue(ctx['obj'], checked_list[idx / 2]) 
  • trunk/blog/urls.py

    r16 r19  
    22 
    33from django.conf.urls.defaults import * 
     4from blog.feeds import LatestEntries 
     5 
     6feeds = { 
     7    'rss2': LatestEntries, 
     8} 
    49 
    510urlpatterns = patterns('blog.views', 
     
    2328    url(r'^$', 'entry_list', name='top_page'), 
    2429) 
     30 
     31urlpatterns += patterns('django.contrib.syndication.views', 
     32    url(r'^feeds/(?P<url>\w+)/$', 'feed', {'feed_dict': feeds}, name='blog_entry_feeds'), 
     33) 
  • trunk/common/templates/base.html

    r16 r19  
    88        {% block robots %}<meta name="ROBOTS" content="INDEX,FOLLOW" />{% endblock %} 
    99        <title>{% block title %}{% trans "Untitled" %}{% endblock %} - {{ SITE_NAME }}</title> 
     10        <link                                                                             
     11            rel="alternate"                                                               
     12            href="{% url blog_entry_feeds "rss2" %}"                                                  
     13            type="application/rss+xml" 
     14            title="RSS2.0 feed of latest entries"                                            
     15            charset="utf-8" 
     16        /> 
    1017        <style type="text/css" media="screen"> 
    1118            /* <![CDATA[ */