mirror of
https://github.com/django/django.git
synced 2024-12-23 09:36:06 +00:00
More small tweaks to docs/syndication_feeds.txt
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1197 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
782edb393b
commit
91f1b08759
@ -89,7 +89,7 @@ can live anywhere in your codebase.
|
||||
A simple example
|
||||
----------------
|
||||
|
||||
This simple example, taken from chicagocrime.org, describes a feed of the
|
||||
This simple example, taken from `chicagocrime.org`_, describes a feed of the
|
||||
latest five news items::
|
||||
|
||||
from django.contrib.syndication.feeds import Feed
|
||||
@ -132,8 +132,8 @@ put into those elements.
|
||||
``{{ site.domain }}`` or ``{{ site.name }}``.
|
||||
|
||||
If you don't create a template for either the title or description, the
|
||||
framework will use the template ``{{ obj }}`` by default -- that is, the
|
||||
normal string representation of the object.
|
||||
framework will use the template ``"{{ obj }}"`` by default -- that is,
|
||||
the normal string representation of the object.
|
||||
* To specify the contents of ``<link>``, you have two options. For each
|
||||
item in ``items()``, Django first tries executing a
|
||||
``get_absolute_url()`` method on that object. If that method doesn't
|
||||
@ -142,6 +142,7 @@ put into those elements.
|
||||
Both ``get_absolute_url()`` and ``item_link()`` should return the item's
|
||||
URL as a normal Python string.
|
||||
|
||||
.. _chicagocrime.org: http://www.chicagocrime.org/
|
||||
.. _object-relational mapper: http://www.djangoproject.com/documentation/db_api/
|
||||
.. _Django templates: http://www.djangoproject.com/documentation/templates/
|
||||
|
||||
@ -150,18 +151,18 @@ A complex example
|
||||
|
||||
The framework also supports more complex feeds, via parameters.
|
||||
|
||||
For example, chicagocrime.org offers an RSS feed of recent crimes for every
|
||||
For example, `chicagocrime.org`_ offers an RSS feed of recent crimes for every
|
||||
police beat in Chicago. It'd be silly to create a separate ``Feed`` class for
|
||||
each police beat; that would violate the `DRY principle`_ and would couple data
|
||||
to programming logic. Instead, the RSS framework lets you make generic feeds
|
||||
that output items based on information in the feed's URL.
|
||||
to programming logic. Instead, the syndication framework lets you make generic
|
||||
feeds that output items based on information in the feed's URL.
|
||||
|
||||
On chicagocrime.org, the police-beat feeds are accessible via URLs like this:
|
||||
|
||||
* ``/rss/beats/0613/`` -- Returns recent crimes for beat 0613.
|
||||
* ``/rss/beats/1424/`` -- Returns recent crimes for beat 1424.
|
||||
|
||||
The slug here is ``beats``. The syndication framework sees the extra URL bits
|
||||
The slug here is ``"beats"``. The syndication framework sees the extra URL bits
|
||||
after the slug -- ``0613`` and ``1424`` -- and gives you a hook to tell it what
|
||||
those URL bits mean, and how they should influence which items get published in
|
||||
the feed.
|
||||
@ -207,8 +208,8 @@ request to the URL ``/rss/beats/0613/``:
|
||||
subclass of ``ObjectDoesNotExist``. Raising ``ObjectDoesNotExist`` in
|
||||
``get_object()`` tells Django to produce a 404 error for that request.
|
||||
* To generate the feed's ``<title>``, ``<link>`` and ``<description>``,
|
||||
Django uses the ``title``, ``link`` and ``description`` methods. In the
|
||||
previous example, they were simple string class attributes, but this
|
||||
Django uses the ``title()``, ``link()`` and ``description()`` methods. In
|
||||
the previous example, they were simple string class attributes, but this
|
||||
example illustrates that they can be either strings *or* methods. For
|
||||
each of ``title``, ``link`` and ``description``, Django follows this
|
||||
algorithm:
|
||||
@ -242,7 +243,7 @@ To change that, add a ``feed_type`` attribute to your ``Feed`` class, like so::
|
||||
|
||||
Note that you set ``feed_type`` to a class object, not an instance.
|
||||
|
||||
Currently available feed types are::
|
||||
Currently available feed types are:
|
||||
|
||||
* ``django.utils.feedgenerator.Rss201rev2Feed`` (RSS 2.01. Default.)
|
||||
* ``django.utils.feedgenerator.RssUserland091Feed`` (RSS 0.91.)
|
||||
@ -499,8 +500,8 @@ several subclasses:
|
||||
Each of these three classes knows how to render a certain type of feed as XML.
|
||||
They share this interface:
|
||||
|
||||
``__init__(title, link, description, language=None, author_email=None,
|
||||
author_name=None, author_link=None, subtitle=None, categories=None)``
|
||||
``__init__(title, link, description, language=None, author_email=None,``
|
||||
``author_name=None, author_link=None, subtitle=None, categories=None)``
|
||||
|
||||
Initializes the feed with the given metadata, which applies to the entire feed
|
||||
(i.e., not just to a specific item in the feed).
|
||||
@ -508,13 +509,13 @@ Initializes the feed with the given metadata, which applies to the entire feed
|
||||
All parameters, if given, should be Unicode objects, except ``categories``,
|
||||
which should be a sequence of Unicode objects.
|
||||
|
||||
``add_item(title, link, description, author_email=None, author_name=None,
|
||||
pubdate=None, comments=None, unique_id=None, enclosure=None, categories=())``
|
||||
``add_item(title, link, description, author_email=None, author_name=None,``
|
||||
``pubdate=None, comments=None, unique_id=None, enclosure=None, categories=())``
|
||||
|
||||
Add an item to the feed with the given parameters. All parameters, if given,
|
||||
should be Unicode objects, except:
|
||||
|
||||
* ``pubdate`` should be a Python datetime object.
|
||||
* ``pubdate`` should be a `Python datetime object`_.
|
||||
* ``enclosure`` should be an instance of ``feedgenerator.Enclosure``.
|
||||
* ``categories`` should be a sequence of Unicode objects.
|
||||
|
||||
@ -550,3 +551,4 @@ This example creates an Atom 1.0 feed and prints it to standard output::
|
||||
</entry></feed>
|
||||
|
||||
.. _django/utils/feedgenerator.py: http://code.djangoproject.com/browser/django/trunk/django/utils/feedgenerator.py
|
||||
.. _Python datetime object: http://www.python.org/doc/current/lib/module-datetime.html
|
||||
|
Loading…
Reference in New Issue
Block a user