<commit_before># django navigation
#### <NAME> <<EMAIL>>

## What is this?

This application provides components that simplify the creation of dynamic navigation menus in django. You can use to to have django automatically generate menus with menu items that reflect the permissions of the currently logged in user.

## Getting started

Just like other django apps, django-navigation is really easy to get started with. Simply install it with:

    python setup.py install

After this is installed, open up your project's settings.py file and add 'navigation' to your INSTALLED_APPS.

    INSTALLED_APPS = (
        # Your other apps listed here
        'navigation',
    )

Now, as a final step - have django synchronize your database:

    ./manage.py syncdb

## How does this work?

You should now have all that you need to use django-navigation within your application. In order to test this it is good to know the terminology used by the navigation system or you might be confused or think that the application is overly complicated. However, remember that django-navigation was made with the following goals in mind:

* All menus are generated dynamically
* Menu items reflect the context of the user, and their related permissions. Users shouldn't see what they can't access.
* The application should support as many dynamic menus as required by the design out-of-the-box.
* Drop-down menus should be easily created without any extra code.

These are established by organizing each menu as a *"navigation tree"*, and relating each tree's top-level *"menu items"* to a navigation tree. A tree is accessed by your template by it's *"access name"*, and multiple trees can make use of the same *"menu item"* when necessary.
<commit_msg>Finalized the rename to navigen.<commit_after># django navigen
#### <NAME> <<EMAIL>>

## What is this?

This application provides components that simplify the creation of dynamic navigation menus in django. You can use to to have django automatically generate menus with menu items that reflect the permissions of the currently logged in user.

## Getting started

Just like other django apps, django-navigen is really easy to get started with. Simply install it with:

    python setup.py install

After this is installed, open up your project's settings.py file and add 'navigen' to your INSTALLED_APPS.

    INSTALLED_APPS = (
        # Your other apps listed here
        'navigen',
    )

Now, as a final step - have django synchronize your database:

    ./manage.py syncdb

## How does this work?

You should now have all that you need to use django-navigen within your application. In order to test this it is good to know the terminology used by the navigation system or you might be confused or think that the application is overly complicated. However, remember that django-navigen was made with the following goals in mind:

* All menus are generated dynamically
* Menu items reflect the context of the user, and their related permissions. Users shouldn't see what they can't access.
* The application should support as many dynamic menus as required by the design out-of-the-box.
* Drop-down menus should be easily created without any extra code.

These are established by organizing each menu as a *"navigation tree"*, and relating each tree's top-level *"menu items"* to a navigation tree. A tree is accessed by your template by it's *"access name"*, and multiple trees can make use of the same *"menu item"* when necessary.

{'fraction_non_alphanumeric': 0.053176200057487785, 'fraction_numerical': 0.0, 'mean_word_length': 4.072886297376093, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6355235', 'n_tokens_mistral': 850, 'n_tokens_neox': 808, 'n_words': 516}