Skip to main content

django 组件模块,为您提供 picasa 存储、picasa 文件和管理字段。

项目描述

如何使用 djgoogle.picasa
--------------------------


我在文档方面很无用,所以我将指导您
如何使用这些我的网站中的组件。

先决条件
------------

在开始之前,您需要安装谷歌的python api。
easy_install 将为您做到这一点。

安装
--------
好的,让我们开始吧。要么做::
easy_install django-picasa

要么将分发文件下载到你的临时文件中,或者只是将
picassa 模块检出到你的项目目录中。运行 python setup.py::C:emp
>
C: emp>python setup.py install --install-purelib="C:\your_project"
running install
running build
running build_py
创建 build
创建 build\lib
创建 build\lib\picasa
复制 picasa?ields.py -> build\lib \picasa
复制 picasa\storage.py -> build\lib\picasa
复制 picasa\__init__.py -> build\lib\picasa
运行 install_lib
创建 C:\your_project_root\picasa
复制 build\lib\picasa?ields.py -> C :\your_project\picasa
复制 build\lib\picasa\storage.py -> C:\your_project\picasa
将 build\lib\picasa\__init__.py -> C:\your_project\picasa
字节编译 C:\your_project\picasa?ields.py 复制到 fields.pyc
字节编译 C:\your_project\picasa\storage.py 到存储.pyc
字节编译 C:\your_project\picasa\__init__.py 到 __init__.pyc
运行 install_egg_info
写入 C:\your_project_root\djgoogle-1.0-py2.5.egg-info


settings.py
--------- --

将框架添加到项目
settings.py 文件的 INSTALLED_APPS 元组中::
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'your_project.cms',
'your_project.picasa'
) 然后将您的 PICASA_STORAGE_OPTIONS:: PICASA_STORAGE_OPTIONS = { 'email':'thanosv@


添加到 settings.py 文件 gmail.com', 'source':'thanos', 'password':'mypassword', 'user':'thanosv', 'cache': True} 其中: email 是您的 Picasa 帐户 ID。 source 是一个字符串,您将使用该字符串来标识图像是如何添加 到您的 Picasa 帐户的。












不必是您的帐户,只要是您有权访问的任何帐户即可。
cache 是你想使用 Django 的缓存后端的天气。通常
这是值得的。

如果您已将缓存设置为 true,您可能需要添加如下内容
::
CACHE_BACKEND = "locmem://?timeout=30&max_entries=400"

models.py
---------

现在您已完成settings.py 文件可以替换
ImageFields 吗?在您的模型中使用 picasa 字段::

from picasa import PicasaField
class Image(models.Model):
photo = PicasaField( )

通过管理页面上传图片来尝试一下,然后访问
您的 Picasa 帐户。您将在投递箱中看到上传的图像。添加了
upload_to='media'::
photo = PicasaField(upload_to='media')

并将文件上传到名为 media 的相册中,如果相册
不存在,则会创建该相册。

admin.py
--------

您的图片的默认管理员表示将由
AdminFileWidget 处理,它只会显示
您 Picasa 帐户中包含网页的 PicasaField.url 的值。这很有用,但最好
看到链接的缩略图。为此,您需要使用 PicasaAdminImageWidget 覆盖
PicasaField。为此,在您的 admin.py 模块中导入小部件
并将其添加到 formfield_overrides 字典中::

默认情况下 PicasaAdminImageWidget?生成一个 64 像素的图标。可用的大小
有::
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)

您可以覆盖类属性 SIZE 以更改缩略图的
大小::
class ImageWidget(PicasaAdminImageWidget):
SIZE='48'

class ImageAdmin(admin.ModelAdmin ):
formfield_overrides = {PicasaField: {'widget': ImageWidget},}

views.py
--------

这里使用上面的演示模型是一个快速的视图::
def images(request):
return render_to_response('cms/images.html', {'images':Image.objects})

这里是它对应的模板(templates/cms/images .html) ::
<h2>图像列表</h2>
{% for image in images.all %}
<a href="{{image.photo.url}}"><img src="{{image.photo .src}}"
width="300"/></a><br/>
{% endfor %}

及其生成的 html::

<h2>图像列表</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/>

不同大小
--------- -----

虽然这个 HTML 为您的站点节省了大量带宽,但您的图像
受浏览器大小调整的摆布,当原始图像很大
时,下载速度仍然很慢。

更改图像源变量以指示它们需要的大小通过
使用 image.photo.src_300 而不是 image.photo。 src 让 Picasa 执行
调整大小并大大加快下载速度。请求宽度为
300 的图像实际上会得到 320,这是下一个可用尺寸:
<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 %}

及其 HTML::
<h2 >图片列表</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>

Media04#5435910379245055122"><img src="http://lh3.ggpht.com/_w0eENG7V9Qg/S3A7sHHCrJI/AAAAAAAAAdw/QMY9OIviHB0/s320/thanos.jpg
" width="300"/></a><br/>

可以问题
----------------

如果您在代理后面,并且在尝试
上传图像时收到以下错误::
gaierror at /admin/cms/image/add/
( 11001, 'getaddrinfo failed')

检查您是否同时设置了 HTTP_PROXY 和 HTTPS_PROXY。HTTPS_PROXY
通常可以设置为与 HTTP_PROXY 相同的主机。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django-picasa-1.3.zip (22.4 kB 查看哈希

已上传 source

django-picasa-1.3.tar.gz (13.8 kB 查看哈希

已上传 source

内置分布

django_picasa-1.3-py2.5.egg (11.8 kB 查看哈希

已上传 any