OpenWISP 2 Controller
Project description
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 and EXTENDED_APPS (an internal openwisp2 setting) in settings.py should look like the following (ordering is important):
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# all-auth
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
'django_extensions',
# openwisp2 modules
'openwisp_users',
'openwisp_controller.pki',
'openwisp_controller.config',
# admin
'django_netjsonconfig.admin_theme',
'django.contrib.admin',
# other dependencies
'sortedm2m',
'reversion',
]
EXTENDED_APPS = ('django_netjsonconfig', 'django_x509')
Add openwisp_utils.staticfiles.DependencyFinder to STATICFILES_FINDERS in your settings.py
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'openwisp_utils.staticfiles.DependencyFinder',
]
Add openwisp_utils.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_utils.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 openwisp_utils.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()
Installing for development
Install sqlite:
sudo apt-get install sqlite3 libsqlite3-dev openssl libssl-dev
Install your forked repo:
git clone git://github.com/<your_fork>/django-netjsonconfig
cd django-netjsonconfig/
python setup.py develop
Install test requirements:
pip install -r requirements-test.txt
Create database:
cd tests/
./manage.py migrate
./manage.py createsuperuser
Set EMAIL_PORT in settings.py to a port number (eg: 1025):
EMAIL_PORT = '1025'
Launch development server and SMTP debugging server:
./manage.py runserver
# open another terminal and run
python -m smtpd -n -c DebuggingServer localhost:1025
You can access the admin interface at http://127.0.0.1:8000/admin/.
Run tests with:
./runtests.py
Talks
Contributing
Announce your intentions in the OpenWISP Mailing List
Fork this repo and install it
Write code
Write tests for your code
Ensure all tests pass
Ensure test coverage does not decrease
Document your changes
Send pull request
Changelog
See CHANGES.
License
See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for openwisp-controller-0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68f41158f447ed732e884bc1b68d4fb4e5c68ee64837ddca791e28b737efe70f |
|
MD5 | e914bb5208b4953102683372a5776044 |
|
BLAKE2b-256 | 52342d41618a6d43a3369477f1fd39a9750adb35874e8e8e948497d17648ad1d |
Hashes for openwisp_controller-0.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57fb9633a4e1081a08c59b0787a6615a17656d2e4eaadc2b9b6ee9f3c761bc80 |
|
MD5 | 97a833e1d74b7ad0a10c98ec672e0704 |
|
BLAKE2b-256 | 1bac63728cc063d296470e5dfe1d8649315059709853b4f16feed2e083fccbae |