How to install django-panorama
- Download and install ActivePython
- Open Command Prompt
- Type
pypm install django-panorama
Lastest release
Introduction
Integration of jQuery virtual tour in Django.
One model stores panoramic photo while a number of other models represents clickable areas in the panorama. There are currently three types of clickable areas:
- Panorama Link
- Link to another panorama, to allow virtual tour navigation.
- Note
- Show a ajax popup with HTML block (using tinymce)
- External link
- Display another url in a iframe.
Install
- Install django-panorama egg with pip, buildout, or whatever.
- Add 'panorama' to your INSTALLED_APPS
- Add panorama urls to your project urls: (r'^panoramas/', include('panorama.urls')),
- Run syncdb
- Overwrite panoramas default template: templates/panorama/base.html
This app uses django-multilingual-ng and django-tinymce. They must be installed and configured for this app to work.
Migrations
If you are upgrading from 1.1 or before, database migration is required.
Django-panorama uses South to keep in sync database and models, so it's recommended to add 'south' to your INSTALLED_APPS.
Settings
No required configuration. There are some optional configuration parameters to control behaviour of panorama display. You can place the following variables in your project's settings.py:
- PANORAMA_VIEWPORT_WIDTH
Width of the panorama window
Value: width in pixels. Default: 600
- PANORAMA_SPEED
Speed of the panorama rotation.
Value: number; higher values means slower :-P Default: 20000
- PANORAMA_DIRECTION
Starting direction of the rotation.
Value: ['left','right'] Default: 'left'
- PANORAMA_CONTROL_DISPLAY
Display rotation controls?
Value: ['auto', 'yes', 'no'] Default: 'auto'
- PANORAMA_START_POSITION
Starting position of the panorama.
Value: position in pixels. Default: 0
- PANORAMA_AUTO_START
Start rotation automatically?
Value: True, False Default: False
- PANORAMA_MODE_360
Loop over the panorama?
Value: True, False Default: True
Integration
To show a panorama model in templates:
{% load panorama %} {% show_panorama panorama_object %}
Javascript
This app needs the following javascript libraries loaded: jquery, jquery.panorama, jquery.fancybox and jquery.advanced-panorama. All are bundled with this app; to load the first three you can use the panorama_js templatetag:
{% panorama_js %}
jquery.advanced-panorama case is different, it's loaded automatically and resides in /static/panorama/js/jquery.advanced-panorama.js.
Admin interface uses OpenLayers, also bundled with this app. Can be found in /static/panorama/js/OpenLayers.js.
CSS
Sample css and media is provided. Load with:
<link rel="stylesheet" href="{{STATIC_URL}}panorama/jquery.panorama.css" /> <link rel="stylesheet" href="{{STATIC_URL}}panorama/jquery.fancybox-1.3.4.css" />
Configuration
Configuration options can be overwritten through context. For example:
{% with position=800 viewport_width=400 %} {% show_panorama panorama_object %} {% endwith %}
Changelog
0.1 - Unreleased
- Initial release.
- Basic Support for panoramic images.
- Templatetag to display image.
1.0 - 2011/01/20
- Upgraded to django 1.3
- Add suport for jquery virtual tour, a enhancement of jquery.panorama.
- Support for notes and external links through jquery virtual tour.
- Renamed from gisa.panorama to django-panorama.
- Dropped namespace package gisa.
- Added some tests.
- Use generic views.
- Simplify urls.
- Improved templates.
- Migrated from multilingual to multilingual-ng.
- Add some documentation.
1.1 - 2011/01/20
- Fix fixtures and tests.
- Renamed templatetags panorama -> panoramas to avoid conflict.
- Code cosmetics, docstrings.
1.2 - 2011/01/30
- Add Link model to allow navigation between panoramas.
- Migrate to South.
- Renamed PanoramaExternalLink and PanoramaNote to ExternalLink and Note.
- Add options to settings.py to control default behavior of panorama display.
- Add fields to Panorama model to allow overwriting default options.
- Allow overwriting options in show_panorama templatetag.