Package: django-picasa
How to use djgoogle.picasa--------------------------I'm pretty useless at documentation so I will just guide you throughhow I use these components in my web site.Prerequisites------------Before you start you will need to install google's python api.easy_install will do that for you.Installing--------Okay lets go. Either do::easy_install django-picasaOr download the distribution file into your temp or just check out thepicassa module into your project's directory. Run python setup.py::C:	emp>C:	emp>python setup.py install --install-purelib="C:\your_project"running installrunning buildrunning build_pycreating buildcreating build\libcreating build\lib\picasacopying picasaields.py -> build\lib\picasacopying picasa\storage.py -> build\lib\picasacopying picasa\__init__.py -> build\lib\picasarunning install_libcreating C:\your_project_root\picasacopying build\lib\picasaields.py -> C:\your_project\picasacopying build\lib\picasa\storage.py -> C:\your_project\picasacopying build\lib\picasa\__init__.py -> C:\your_project\picasabyte-compiling C:\your_project\picasaields.py to fields.pycbyte-compiling C:\your_project\picasa\storage.py to storage.pycbyte-compiling C:\your_project\picasa\__init__.py to __init__.pycrunning install_egg_infoWriting C:\your_project_root\djgoogle-1.0-py2.5.egg-infosettings.py-----------Add the framework to the INSTALLED_APPS tuple of your projectssettings.py file::INSTALLED_APPS = ('django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.sites','django.contrib.admin','your_project.cms','your_project.picasa')Then add to the settings.py file your PICASA_STORAGE_OPTIONS::PICASA_STORAGE_OPTIONS = {'email':'thanosv@gmail.com','source':'thanos','password':'mypassword','user':'thanosv','cache': True}Where:email is your Picasa account id.source is a string you will use to identify how the images where addedto your Picasa account.user is the actual Picassa account that the images will stored in. Itdoesn't have to be your account just any account you have the access to.cache is weather you want to use Django's caching back-end. Usuallyit's worth it.If you have set cache to true they you might want to add something likethis::CACHE_BACKEND = "locmem://?timeout=30&max_entries=400"models.py---------Now you are done with the settings.py file you can replace theImageFields? with the picasa field in your models::from picasa import  PicasaFieldclass Image(models.Model):photo = PicasaField( )Try it out by uploading an image through your admin page and then visityour Picasa account. You will see the uploaded image in your Drop Box.  Added aupload_to='media'::photo = PicasaField( upload_to='media')and it will upload the file into an album called media, if the albumdoesn't exist it will be created.admin.py--------The default admin representaion of your image will be handled by theAdminFileWidget which will just show the value of PicasaField.url of thecontaining web page in your Picasa account. It's useful but would be better tosee a linked thumbnail. To do that you need to override the PicasaField withPicasaAdminImageWidget. To do that import the widget in your admin.py moduleand add it to an formfield_overrides dictionary: :By default PicasaAdminImageWidget? generates a 64 pixel icon. The sizesavailable are::class PicasaFieldFile(ImageFieldFile):SIZES = (32, 48, 64, 72, 94, 104, 110, 128, 144, 150, 160, 200, 220,288, 320, 400, 512, 576, 640, 720, 800, 912, 1024, 1152, 1280, 1440, 1600)You can override the class attribute SIZE to change the thumbnail'ssize::class ImageWidget(PicasaAdminImageWidget):SIZE='48'class ImageAdmin(admin.ModelAdmin):formfield_overrides = {PicasaField: {'widget': ImageWidget},}views.py--------Using the above demo model here is a quick view::def images(request):return render_to_response('cms/images.html', {'images':Image.objects})Here is its corresponding template (templates/cms/images.html) ::<h2>Image List</h2>{% for image in images.all %}<a href="{{image.photo.url}}"><img src="{{image.photo.src}}"width="300"/></a><br/>{% endfor %}and the html it produces::<h2>Image List</h2><a href="http://picasaweb.google.com/thanosv/Media04#5434869420740374642"><img src="http://lh6.ggpht.com/_w0eENG7V9Qg/S2yI8Wfc8HI/AAAAAAAAAdQ/xrYdkgQF8r0/itunesscreenshot.jpg" width="300"/></a><br/><a href="http://picasaweb.google.com/thanosv/Media04#5435910379245055122"><img src="http://lh3.ggpht.com/_w0eENG7V9Qg/S3A7sHHCrJI/AAAAAAAAAdw/QMY9OIviHB0/thanos.jpg" width="300"/></a><br/>Different Sizes--------------Although this HTML saves your site a lot of bandwidth your images areat the mercy of the browsers resizes and when the original images are largewill still be slow to download.Changing the image source variables to indicate the size they need byusing image.photo.src_300 instead of image.photo.src gets Picasa to do theresizing and greatly speeds up the download. requesting an image of the width300 will in fact get you 320, which is the next available size up::<h2>Image List</h2>{% for image in images.all %}<a href="{{image.photo.url}}"><img src="{{image.photo.src_300}}"width="300"/></a><br/>{% endfor %}And its HTML::<h2>Image List</h2><a href="http://picasaweb.google.com/thanosv/Media04#5434869420740374642"><img src="http://lh6.ggpht.com/_w0eENG7V9Qg/S2yI8Wfc8HI/AAAAAAAAAdQ/xrYdkgQF8r0/s320/itunesscreenshot.jpg" width="300"/></a><br/><a href="http://picasaweb.google.com/thanosv/Media04#5435910379245055122"><img src="http://lh3.ggpht.com/_w0eENG7V9Qg/S3A7sHHCrJI/AAAAAAAAAdw/QMY9OIviHB0/s320/thanos.jpg" width="300"/></a><br/>Possible Problems----------------If you are behind a proxy and you get the following error when you tryan upload an image::gaierror at /admin/cms/image/add/(11001, 'getaddrinfo failed')Check that you have set both HTTP_PROXY and HTTPS_PROXY. HTTPS_PROXYcan usually be set to the same host as HTTP_PROXY.