A minimalist Django menu app.
Project description
django-alacarte is a minimalist menu app for Django.
Installation
$ pip install django-alacarte
Usage
Add “alacarte” to your INSTALLED_APPS:
INSTALLED_APPS = (
...,
'alacarte',
)
In your root urls.py add the following code:
# ...
import alacarte
alacarte.autodiscover()
# Your url patterns
Note: You don’t need this if you use Django >= 1.7, autodiscovery is made automatically with AppConfig.
Create a file called menu.py inside the app of your choice and register its corresponding menus:
import alacarte
class BankTransactionsMenu(alacarte.Menu):
label = 'Transactions'
url_name = 'bank_transactions'
class BankBalanceMenu(alacarte.Menu):
label = 'Balance'
url_name = 'bank_balance'
class BankPremiumMenu(alacarte.Menu):
label = 'Premium Offers'
url_name = 'bank_premium_offers'
def shown(self)
user = self.context['user']
return user.is_premium()
class BankMenu(alacarte.Menu):
group = 'main'
label = 'Bank'
submenus = (
BankTransactionsMenu(),
BankBalanceMenu(),
BankPremiumMenu(),
)
def shown(self):
user = self.context['user']
return user.is_authenticated()
alacarte.register(BankMenu)
Then in your template:
{% load alacarte %}
{# ... #}
{# ... #}
{% alacarte "main" %}
{# ... #}
{# ... #}
Support
Django >= 1.3
Tested on Python 2.7 and 3.4
django-alacarte is not related to https://pypi.python.org/pypi/alacarte
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-alacarte-0.1.6.tar.gz
(4.8 kB
view hashes)
Built Distribution
Close
Hashes for django_alacarte-0.1.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32e86e4da288049d5c93b9b5f428bab954ef34660d7bb01cff6e65aba290274f |
|
MD5 | 519cac2abd5e22fec72bbb3756a43b5c |
|
BLAKE2b-256 | 3ad53dc57f62e644e2b8f5e49801f83d9225720f3a6c627813ccd2fd929216ed |