skip to navigation
skip to content

Not Logged In

django-kamasutra 0.2.7

A application to position objects anywhere on a page.

Latest Version: 0.2.11

BUILD

Backwards incompatible changes made in version 0.2.2

COMBINE_STRING is now used to build the template list when using PositionContent.render or render_content template tag.

Before:

/positions/my_position/<app>__<model>.html

New:

/positions/my_position/<app> <combine_string> <model>.html

Installation

Using PIP:

pip install django-kamasutra

or download the app here

python setup.py install

Add positions to your settings INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'positions',
    ...
)

Add positions to your URLS:

import positions.urls

urlpatterns += patterns('',
    url(r'^positions/', include(positions.urls)),
)

Run syncdb:

>>> ./manage.py syncdb

Getting Started

Creating your first position

The minimum required arguments to create a positions is a name, which is a SlugField.

from positions.models import Position

position = Position.objects.create(name="MyPosition")

Add something to your Position

The position manager has a add_object method that takes, at minimum, 2 arguments, position and obj

  • position should be a positions.Position instance
  • obj can be any model instance
from myapp.models import MyApp

obj = MyApp.objects.get_latest()

Position.objects.add_object(position=position, obj=obj)

Note

The Position model can define which types of objects that can be added. Therefore when adding objects to a position, make sure the content types is allowed by the Position instance.

Retrieve your position content

The position manager has a get_content method that takes at least 1 argument, position.

  • position should be a positions.Position instance
position = Position.objects.get(name="MyPosition")

content = Position.objects.get_content(position=position)

Retrieve your position content via templatetag

{% get_position_content position as content %}

get_position_content expects [position] [as] [varname]

  • position can be a positions.Position instance or a name of a position
Position {{ position }} has the following content:<br/>
<ul>
{% for obj in content %}
    <li>{{ obj }}</li>
{% endfor %}
</ul>

Note

By default the object instance will be returned, although returning the positions.PositionContent instance, which holds the generic relation between position and the object, is also possible

{% get_position_content position as content as_content_type=False %}
 
File Type Py Version Uploaded on Size
django-kamasutra-0.2.7.tar.gz (md5) Source 2012-10-15 520KB
  • Downloads (All Versions):
  • 1 downloads in the last day
  • 255 downloads in the last week
  • 1027 downloads in the last month