django photologue的包装器,用于处理远程图像和服务器端生成的图像。
django-metaimage的Python项目详细描述
django metaimage是django web框架的gpl许可应用程序。 许多网站处理图片/照片,通常来自三个 来源:由用户上传,通过URL从Internet上提取,或 生成的服务器端。对于后两种情况,django元图像 应该有用:一个新实例可以获取远程图像url, 或作为字符串的原始图像数据(例如,可以通过 matplotlib)。
主元图像模型提供了有用功能的包装。 来自强大的django photologue应用程序(a)的around imagemodel 依赖性)。一些django元图像代码最初是受启发的 从Pinax的照片应用程序,但我已经删除了Pinax依赖项,因此 django元图像只需要:
- Django
- Django摄影
- Django Autoslug
- django taggit
- Django Uni窗体,后备箱(可选)
如果要使用包含的 示例模板,并希望看到所有django元图像的测试通过。
总之,这个应用程序为本地提供了更多的灵活性。 从多个来源表示站点上的图像,无论 从远程图像或服务器端生成的图像上载。
用法
主类metaimage支持存储关于 图片,包括标题、标题、关于来源的注释 (如版权、许可)和标签。元图像属性 包括:
- 标题、段塞、标题、源注释(用于归属文本、版权等)
- 源URL(如果有)
- 隐私
- 安全级别
- 标签
现在,来处理两个存储应用程序生成的图像的情况 for:从远程图像的url检索该图像(您将有一个本地 在图像移动/消失时复制),或存储服务器端 生成的图像:
- 对于远程图像,只需在新的 元映像实例并保存,例如
new_metaimage = MetaImage( title='Django logo', source_url='http://media.djangoproject.com/img/site/hdr_logo.gif', source_note='The logo of the Django project.', creator=foo_user) new_metaimage.save() # Will download, save source_url locally.
- 使用服务器端生成的图像-作为字符串对象-可以 保存时发送关键字参数图像数据,例如
new_metaimage = MetaImage( title='Chart of f(x)', source_note='Chart of f(x) generated by Matplotlib.', creator=foo_user) new_metaimage.save(image_data=a_png_as_str)
有用的元图像方法包括:
- render()和render_linked(),它会弹出HTML来显示 网页上的图像,带有指向详细信息页的超链接。
还提供了基本视图、测试和模板,因此您可以 快速集成应用程序到现有的Django网站。
安装
通过“pip install django metaimage”或从源代码安装。你可以 还需要为django taggit、django autoslug和 摄影。
然后更新django项目的settings.py文件:add“photologue”, 中的“taggit”和“metaimage”(不需要autoslug) 已安装的应用程序列表,例如
INSTALLED_APPS = [ ... "photologue", "taggit", "metaimage", ... ]
然后,执行“manage.py syncdb”创建数据库表 需要。
可选:提供用于添加、编辑、查看等的模板 元图像;它们非常基本,只是作为一个起点。 但如果您想直接使用它们,请至少执行以下两项操作:
- 获取并安装django uni form>;0.7.0,其中一些模板 依赖并更新您的设置。py installed_apps to list “uni_form”作为包依赖项。
- 更新站点范围的url.py,例如
urlpatterns = patterns("", ... (r"^metaimage/", include("metaimage.urls")), ... )
此外,许多django元图像模板都有templatetags 被注释掉的依赖项,因为它们需要pinax或其他 包;您可以根据需要激活它们,但请确保更新 相应地安装了_应用程序。
测试
我已经包含了一组应用程序的单元测试;如果您已经集成了 Django Meta映像到现有的Django站点/项目中,只需执行 通常的“manage.py test”和测试应该运行,但对于所有测试 目前Django Uni表单的主干(截至2011年2月)是 需要:
https://github.com/pydanny/django-uni-form
应该您想在任何 特定django站点/项目-即独立django应用程序测试- 我建议安装和使用django应用程序测试运行程序和我的fork 在:
https://github.com/limist/django-app-test-runner
…允许使用特定于测试的设置文件。在你之后 在您的virtualenv中安装django app test runner(不要在 没有它的Python!)您应该能够执行如下操作:
cd to/where/django-metaimage/code/is app-test-runner ./src/metaimage/ -s src/metaimage/testsettings.py
请注意,您需要Internet连接才能通过测试。
错误等
请使用django metaimage的github站点记录错误/问题, http://github.com/limist/django-metaimage/issues