地理 FeedLink to this heading

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.

例如Link to this heading

API 参考Link to this heading

Feed 子类Link to this heading

class FeedLink to this definition

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:

Code
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)Link to this definition

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:

Code
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)Link to this definition

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:

Code
class ZipcodeFeed(Feed):

    def item_geometry(self, obj):
        # Returns the polygon.
        return obj.poly

SyndicationFeed 子类Link to this heading

The following django.utils.feedgenerator.SyndicationFeed subclasses are available:

class GeoRSSFeedLink to this definition
class GeoAtom1FeedLink to this definition
class W3CGeoFeedLink to this definition