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 相同的主机。
--------------------------
我在文档方面很无用,所以我将指导您
如何使用这些我的网站中的组件。
先决条件
------------
在开始之前,您需要安装谷歌的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
查看哈希)
django-picasa-1.3.tar.gz
(13.8 kB
查看哈希)
内置分布
django_picasa-1.3-py2.5.egg
(11.8 kB
查看哈希)
关
django-picasa-1.3.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7ffd9e34f7cc498b104502fea135c8c56ed292204859c6d57014e1c32217fcbb |
|
MD5 | 9e7bd6430db39a3deb8227dae9859daa |
|
布莱克2-256 | 041afbf7ebd50343edd2c5465580fd65dc209fca7b240a5872e2766a92403bd4 |
关
django_picasa -1.3-py2.5.egg 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bace545313c956528f3f8204262556981a393ffa95b01a76ba888675b95f085d |
|
MD5 | 76e7348b2c972524a8d884d555bb287f |
|
布莱克2-256 | 69f235c5d76bdd38612d4b3a2b564de7efac753c3bd1724bee97cc907ffcf378 |