Skip to main content

OpenWISP 2 Controller

Project description

https://travis-ci.org/openwisp/openwisp-controller.svg https://coveralls.io/repos/openwisp/openwisp-controller/badge.svg Requirements Status https://badge.fury.io/py/openwisp-controller.svg

OpenWISP 2 controller module (built using Python and the Django web-framework).



Deploy it in production

An automated installer is available at ansible-openwisp2.

Dependencies

  • Python 2.7 or Python >= 3.4

  • OpenSSL

Install stable version from pypi

Install from pypi:

pip install openwisp-controller

Install development version

Install tarball:

pip install https://github.com/openwisp/openwisp-controller/tarball/master

Alternatively you can install via pip using git:

pip install -e git+git://github.com/openwisp/openwisp-controller#egg=openwisp_controller

If you want to contribute, install your cloned fork:

git clone git@github.com:<your_fork>/openwisp-controller.git
cd openwisp_controller
python setup.py develop

Setup (integrate in an existing django project)

INSTALLED_APPS in settings.py should look like the following:

INSTALLED_APPS = [
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # admin
    'django_netjsonconfig.admin_theme',
    'django.contrib.admin',
    # all-auth
    'django.contrib.sites',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'django_extensions',
    # openwisp2 modules
    'openwisp_users',
    'openwisp_controller.pki',
    'openwisp_controller.config',
    # other dependencies
    'sortedm2m',
    'reversion',
]

Add openwisp_controller.staticfiles.DependencyFinder to STATICFILES_FINDERS in your settings.py

STATICFILES_FINDERS = [
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'openwisp_controller.staticfiles.DependencyFinder',
]

Add openwisp_controller.loaders.DependencyLoader to TEMPLATES in your settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'OPTIONS': {
            'loaders': [
                'django.template.loaders.filesystem.Loader',
                'django.template.loaders.app_directories.Loader',
                # add the following line
                'openwisp_controller.loaders.DependencyLoader'
            ],
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    }
]

Add the following settings to settings.py:

LOGIN_REDIRECT_URL = 'admin:index'
ACCOUNT_LOGOUT_REDIRECT_URL = LOGIN_REDIRECT_URL

urls.py:

from django.conf import settings
from django.conf.urls import include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

from django_netjsonconfig.admin_theme.admin import admin, openwisp_admin

openwisp_admin()

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'', include('openwisp_controller.urls')),
]

urlpatterns += staticfiles_urlpatterns()

Talks

Contributing

  1. Announce your intentions in the OpenWISP Mailing List

  2. Fork this repo and install it

  3. Follow PEP8, Style Guide for Python Code

  4. Write code

  5. Write tests for your code

  6. Ensure all tests pass

  7. Ensure test coverage does not decrease

  8. Document your changes

  9. Send pull request

Changelog

See CHANGES.

License

See LICENSE.

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

openwisp-controller-0.1.1.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

openwisp_controller-0.1.1-py2.py3-none-any.whl (37.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file openwisp-controller-0.1.1.tar.gz.

File metadata

File hashes

Hashes for openwisp-controller-0.1.1.tar.gz
Algorithm Hash digest
SHA256 26332baf75477d29a90efb3323297d560f850a745a69d1ab8bb43e2da784aa48
MD5 dcd9719bdef99aafe8c79ea14822d365
BLAKE2b-256 ece7be4542ef7a1ee44fb1227105a39adde5a0bb5f2856d5ee847fa64188215d

See more details on using hashes here.

File details

Details for the file openwisp_controller-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for openwisp_controller-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b8d3cfaa6e88250e2a04aaf5d50c8caf03b762bc6af89a9684cdae45b604dda3
MD5 a8df89b7012c9734461d366f6f9409d4
BLAKE2b-256 893aef1e6cda34008d859b0e3a2beabc29986b258b9c16bc3b08dce6ad0bc6a0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page