Provides a basic implementation of Yahoo's [MediaRSS](http://video.search.yahoo.com/mrss) format for [Photologue](http://code.google.com/p/django-photologue/) galleries
Simplest usage:
I have feedgenerator.py in a utils directory. Import photofeeds and hook up the feed url in your URLConf:
from utils.feedgenerator import photofeeds
urlpatterns += patterns('',
url(r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': photofeeds}),)
Without customization, this will generate a feed for the gallery archive at
`/feeds/gallery/`
It will contain a single photo per gallery, as returned by Gallery.sample()
Additionally, each gallery has a dynamic feed available at the url via Gallery.title_slug:
`/feeds/gallery/gallery-title-slug/`
This feed will contain an Item for each Photo in the Gallery
All that is left is to add an autodiscovery feed to your pages in <head>. An RSS agent like CoolIris can then parse your gallery and provide a slick view of your photos.
e.g Add something like this to gallery_detail.html:
`<link rel="alternate" href="/feeds/gallery/{{ object.title_slug }}/"
type="application/rss+xml" title="Photologue Gallery - {{ object.title }}" id="gallery_feed" />
`
- feed
- rss
- photologue
- syndication
A confirm alert is displayed if the user has made any changes to the form, and attempts to navigate away from the page without saving (click the back button, hit reload, click the breadcrumbs, logout, etc). Much like GMail's "Your message has not been sent. Discard your message?" prompt.
**Uses the JavaScript helpers built into Django**, without relying on 3rd party libs like jQuery. (There might be simpler options if you're already using [jQuery](http://code.google.com/p/protect-data/) or [prototype](http://stackoverflow.com/questions/925111/activating-onbeforeunload-only-when-field-values-have-changed/1013033#1013033)).
To use this, simply create a [custom admin template](http://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-admin-templates). For example at:
*templates/admin/YOUR_APP_NAME/change_form.html*
{% extends "admin/change_form.html" %}
{% block after_related_objects %}
{{ block.super}}
<script type="text/javascript">
... script goes here ...
</script>
{% endblock %}