GeoDjango has its own Feed subclass that may embed location information
in RSS/Atom feeds formatted according to either the Simple GeoRSS or
W3C Geo standards.  Because GeoDjango’s syndication API is a superset of
Django’s, please consult Django’s syndication documentation for details on general usage.
Feed Subclass¶Feed[source]¶In addition to methods provided by
the django.contrib.syndication.views.Feed
base class, GeoDjango’s Feed class provides
the following overrides.  Note that these overrides may be done in multiple ways:
from django.contrib.gis.feeds import Feed
class MyFeed(Feed):
    # First, as a class attribute.
    geometry = ...
    item_geometry = ...
    # Also a function with no arguments
    def geometry(self):
        ...
    def item_geometry(self):
        ...
    # And as a function with a single argument
    def geometry(self, obj):
        ...
    def item_geometry(self, item):
        ...
geometry(obj)¶Takes the object returned by get_object() and returns the feed’s
geometry.  Typically this is a GEOSGeometry instance, or can be a
tuple to represent a point or a box.  For example:
class ZipcodeFeed(Feed):
    def geometry(self, obj):
        # Can also return: `obj.poly`, and `obj.poly.centroid`.
        return obj.poly.extent # tuple like: (X0, Y0, X1, Y1).
item_geometry(item)¶Set this to return the geometry for each item in the feed.  This
can be a GEOSGeometry instance, or a tuple that represents a
point coordinate or bounding box.  For example:
class ZipcodeFeed(Feed):
    def item_geometry(self, obj):
        # Returns the polygon.
        return obj.poly
SyndicationFeed Subclasses¶The following django.utils.feedgenerator.SyndicationFeed subclasses
are available:
Note
W3C Geo formatted feeds only support
PointField geometries.
May 02, 2016