django-reploc is a project that allows you to install a Google Map on your site to display and filter "representatives" for your site. These representatives may be dealers/vendors for your products, your friends or business associates, or just places you've been and want to advertise. I built the application to be a dealer locator, but I realize the value in an application like this and tried to make it as generic as possible.
InstallationDownload django-reploc using one of the following methods:
easy_installYou can download the package from the CheeseShop or use
easy_install django-replocto download and install django-reploc.
Package DownloadDownload the latest .tar.gz file from the downloads section and extract it somewhere you'll remember. Use python setup.py install to install it.
Checkout from SubversionExecute the following command (or use the equivalent function in a GUI such as TortoiseSVN), and make sure you're checking Pendulum out somewhere on the PYTHONPATH.
svn co http://django-reploc.googlecode.com/svn/trunk/reploc replocVerifying InstallationThe easiest way to ensure that you have successfully installed Pendulum is to execute a command such as:
python -c "import reploc; print reploc.get_version()"If that displays the version of django-reploc that you tried to install, you're good to roll. If you see something other than that, you probably need to check your PYTHONPATH environment variable.
ConfigurationFirst of all, you must add this project to your list of INSTALLED_APPS in settings.py:
INSTALLED_APPS = (
)Next you should add the context processor to your TEMPLATE_CONTEXT_PROCESSORS setting so the templates have access to the Google Maps API key. You don't really need this step if you're going to put the API key straight into your template.
TEMPLATE_CONTEXT_PROCESSORS = (
)Define your Google Maps API key in your settings.py file
Run manage.py syncdb. This creates a few tables in your database that are necessary for operation.
Next, you should add an entry to your main urls.py file. For example:
from django.conf.urls.defaults import *
from django.contrib import admin
urlpatterns = patterns('',
)Finally, you'll probably want to copy the media files that I use in django-reploc, unless you have some of your own. Those files can be found in the /media/ directory of the project. There are really only two files that you should need to copy to your media directory: reploc/media/js/jquery-1.3.1.min.js and reploc/media/img/ajax.gif (see http://code.google.com/p/django-reploc/source/browse/#svn/trunk/reploc/media for the specific files). Alternatively, you may just override the templates to use whatever you want. I make no guarantees that the application will still work if you do that though ;)
UsageAs soon as you have all of the configuration taken care of, simply fire up your site (or restart it) and jump into the Django administration interface. You can add locations straight from the "Add Representative" page if you'd like. When you're done, head on over to http://www.yourwebsite.com/locator/ (or whatever it happens to be in your case) to see the application in action.
Updating Location CoordinatesI've created a utility to help you update the location coordinates if you feel the need. They should be updated each time you save a location, but if you want to update all of the locations in one swing, you can use the command ./manage.py reploc_update_coords.