Manage front end dependencies in Django.
Project description
django-fe-manager
Manage front end dependencies in Django
Usage
Create a FE_MANAGER
variable in your project settings defining the modules that can be used in your project. An example:
FE_MANAGER = {
'bootstrap': {
'version': '4.0.0',
'js': ['/static/js/bootstrap.bundle.min.js'],
'css': ['/static/css/bootstrap.css', '/static/css/custom.css'],
'dependencies': {'jquery'}
},
'jquery': {
'version': '3.2.1',
'js': ['/static/private/js/vendors/jquery-3.2.1.min.js']
},
'moment': {
'version': '2.24.0',
'js': ['https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js']
},
'chartjs': {
'version': '2.9.3',
'js': ['https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js'],
'dependencies': {'moment'}
}
}
In your base view load the module, declare your dependencies, declare a dummy block at the beggining and add the css and js output tags:
{% load fe_manager %}
{% fe_manager_add_module 'bootstrap' %}
{% fe_manager_add_module 'jquery' %}
{% block fe_manager %}{% endblock fe_manager %}
<!DOCTYPE html>
<html>
<head>
<!-- Title and other HTML code... -->
<!-- Output CSS -->
{% fe_manager_output_css %}
</head>
<body>
<!-- Content and other stuff... -->
{% block content %}{% endblock content%}
<!-- Output JS -->
{% fe_manager_output_js %}
</body>
</html>
Every child view can now add its dependencies in the following way...
{% extends 'base.html' %}
{% load fe_manager %}
{% block fe_manager %}
{% fe_manager_add_module 'chartjs' %}
{% endblock fe_manager %}
{% block content %}
Content here!
{% endblock content %}
The plugin will take care of dependency ordering and outputting both JS and CSS to your base template!
0.0.3
- Add some documentation
0.0.2
- Fix packaging (utils package not being included previously).
0.0.1
- Initial release on PyPi.
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
File details
Details for the file django-fe-manager-0.0.3.tar.gz
.
File metadata
- Download URL: django-fe-manager-0.0.3.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 759c55ede7228119b0eaf0a1f49420193927ff528e1fc5eca24319b932cc825f |
|
MD5 | c6a12229a558b4a973d7e72648512387 |
|
BLAKE2b-256 | 58640658670336b35fed044921928306a8d73c535c94bd5b49b243c950c8dd86 |