Django JS Tools
Project description
=========
Django.js
=========
Django.js provides tools for JavaScript development with Django.
Django.js is inspired from:
- `Miguel Araujo's verbatim snippet <https://gist.github.com/893408>`_.
- `Dimitri Gnidash's django-js-utils <https://github.com/Dimitri-Gnidash/django-js-utils>`_.
This is currently a work in progress (API wil not be stable before 1.0) so don't expect it to be perfect but please `submit an issue <https://github.com/noirbizarre/django.js/issues>`_ for any bug you find or any feature you want.
Compatibility
=============
Django.js requires Python 2.6+ and Django 1.4.2+.
Installation
============
You can install Django.js with pip:
::
$ pip install django.js
or with easy_install:
::
$ easy_install django.js
Add ``djangojs`` to your ``settings.INSTALLED_APPS``.
Add ``djangojs.urls`` to your root ``URL_CONF``:
::
urlpatterns = patterns('',
...
url(r'^djangojs/', include('djangojs.urls')),
...
)
Documentation
=============
The documentation is hosted `on Read the Docs <http://djangojs.readthedocs.org/en//>`_
Changelog
=========
(2013-07-14)
-------------
- Allow features to be disabled with:
- ``settings.JS_URLS_ENABLED``
- ``settings.JS_USER_ENABLED``
- ``settings.JS_CONTEXT_ENABLED``
- Added context black and white lists (``settings.JS_CONTEXT`` and ``settings.JS_CONTEXT_EXCLUDE``)
- Allow context serialization customization by inheritance with ``settings.JS_CONTEXT_PROCESSOR``
- Do not fail on import when parsing URLs (Fix `issue #7 <https://github.com/noirbizarre/django.js/issues/7>`_ thanks to Wasil Sergejczyk)
- Treat starred non-capturing groups and starred characters as optionnals (Fix `issue #22 <https://github.com/noirbizarre/django.js/issues/22>`_)
- Upgraded to jQuery 2.0.3 (and added 1.10.2)
- Upgraded to QUnit 1.12.0
- Added ``js`` management command.
- Extracted URLs handling and context handling into their own modules
- First contrib module: ``social_auth`` (thanks to Olivier Cortès)
0.7.6 (2013-06-07)
------------------
- Reintroduce Python 2.6 support (thanks to Andy Freeland)
- Fix `issue #20 <https://github.com/noirbizarre/django.js/issues/20>`_
0.7.5 (2013-06-01)
------------------
- Handle Django 1.5+ custom user model
- Upgraded to jQuery 2.0.2 and jQuery Migrate 1.2.1
0.7.4 (2013-05-11)
------------------
- Preserve declaration order in StorageGlobber.glob() (Fix `issue #17 <https://github.com/noirbizarre/django.js/issues/17>`_)
- Fixes on localization on handling
0.7.3 (2013-04-30)
------------------
- Upgraded to jQuery 2.0.0
- Package both minified and unminified versions.
- Load minified versions (Django.js, jQuery and jQuery Migrate) when DEBUG=False
0.7.2 (2013-04-30)
------------------
- Fix `issue #16 <https://github.com/noirbizarre/django.js/issues/16>`_
- Declare package as Python 3 compatible on PyPI
0.7.1 (2013-04-25)
------------------
- Optionnaly include jQuery with ``{% django_js_init %}``.
0.7.0 (2013-04-25)
------------------
- Added RequireJS/AMD helpers and documentation
- Added Django Pipeline integration helpers and documentation
- Support unnamed URLs resolution.
- Support custom content types to be passed into the js/javascript script tag (thanks to Travis Jensen)
- Added ``coffee`` and ``coffescript`` template tags
- Python 3 compatibility
0.6.5 (2013-03-13)
------------------
- Make JsonView reusable
- Unescape regex characters in URLs
- Fix handling of 0 as parameter for Javasript reverse URLs
0.6.4 (2013-03-10)
------------------
- Support namespaces without app_name set.
0.6.3 (2013-03-08)
------------------
- Fix CSRF misspelling (thanks to Andy Freeland)
- Added some client side CSRF helpers (thanks to Andy Freeland)
- Upgrade to jQuery 1.9.1 and jQuery Migrate 1.1.1
- Do not clutter url parameters in ``js``, ``javascript`` and ``js_lib`` template tags.
0.6.2 (2013-02-18)
------------------
- Compatible with Django 1.5
0.6.1 (2013-02-11)
------------------
- Added ``static`` method (even if it's a unused reserved keyword)
0.6 (2013-02-09)
----------------
- Added basic user attributes access
- Added permissions support
- Added ``booleans`` context processor
- Added jQuery 1.9.0 and jQuery Migrate 1.0.0
- Upgraded QUnit to 1.11.0
- Added QUnit theme support
- Allow to specify jQuery version (1.8.3 and 1.9.0 are bundled)
0.5 (2012-12-17)
----------------
- Added namespaced URLs support
- Upgraded to Jasmine 1.3.1
- Refactor testing tools:
- Rename ``test/js`` into ``js/test`` and reorganize test resources
- Renamed ``runner_url*`` into ``url*`` on ``JsTestCase``
- Handle ``url_args`` and ``url_kwargs`` on ``JsTestCase``
- Renamed ``JasmineMixin`` into ``JasmineSuite``
- Renamed ``QUnitMixin`` into ``QUnitSuite``
- Extracted runners initialization into includable templates
- Added ``JsFileTestCase`` to run tests from a static html file without live server
- Added ``JsTemplateTestCase`` to run tests from a rendered template file without live server
- Added some settings to filter scope:
- Serialized named URLs whitelist: ``settings.JS_URLS``
- Serialized named URLs blacklist: ``settings.JS_URLS_EXCLUDE``
- Serialized namespaces whitelist: ``settings.JS_URLS_NAMESPACES``
- Serialized namespaces blacklist: ``settings.JS_URLS_NAMESPACES_EXCLUDE``
- Serialized translations whitelist: ``settings.JS_I18N_APPS``
- Serialized translations blacklist: ``settings.JS_I18N_APPS_EXCLUDE``
- Expose PhantomJS timeout with ``PhantomJsRunner.timeout`` attribute
0.4 (2012-12-04)
----------------
- Upgraded to jQuery 1.8.3
- Upgraded to Jasmine 1.3.0
- Synchronous URLs and context fetch.
- Use ``django.utils.termcolors``
- Class based javascript testing tools:
- Factorize ``JsTestCase`` common behaviour
- Removed ``JsTestCase.run_jasmine()`` and added ``JasmineMixin``
- Removed ``JsTestCase.run_qunit()`` and added ``QUnitMixin``
- Extract ``TapParser`` into ``djangojs.tap``
- Only one Django.js test suite
- Each framework is tested against its own test suite
- Make jQuery support optionnal into ``JsTestCase``
- Improved JsTestCase output
- Drop Python 2.6 support
- Added API documentation
0.3.2 (2012-11-10)
------------------
- Optionnal support for Django Absolute
0.3.1 (2012-11-03)
------------------
- Added JsTestView.django_js to optionnaly include django.js
- Added js_init block to runners to templates.
0.3 (2012-11-02)
----------------
- Improved ``ready`` event handling
- Removed runners from ``urls.py``
- Added documentation
- Added ``ContextJsonView`` and ``Django.context`` fetched from json.
- Improved error handling
- Added ``DjangoJsError`` custom error type
0.2 (2012-10-23)
----------------
- Refactor template tag initialization
- Provides Jasmine and QUnit test views with test discovery (globbing)
- Provides Jasmine and QUnit test cases
- Added ``Django.file()``
- Added ``{% javascript %}``, ``{% js %}`` and ``{% css %}`` template tags
0.1.3 (2012-10-02)
------------------
- First public release
- Provides django.js with ``url()`` method and constants
- Provides ``{% verbatim %}`` template tag
- Patch ``jQuery.ajax()`` to handle CSRF tokens
- Loads the django javascript catalog for all apps supporting it
- Loads the django javascript i18n/l10n tools in the page
Django.js
=========
Django.js provides tools for JavaScript development with Django.
Django.js is inspired from:
- `Miguel Araujo's verbatim snippet <https://gist.github.com/893408>`_.
- `Dimitri Gnidash's django-js-utils <https://github.com/Dimitri-Gnidash/django-js-utils>`_.
This is currently a work in progress (API wil not be stable before 1.0) so don't expect it to be perfect but please `submit an issue <https://github.com/noirbizarre/django.js/issues>`_ for any bug you find or any feature you want.
Compatibility
=============
Django.js requires Python 2.6+ and Django 1.4.2+.
Installation
============
You can install Django.js with pip:
::
$ pip install django.js
or with easy_install:
::
$ easy_install django.js
Add ``djangojs`` to your ``settings.INSTALLED_APPS``.
Add ``djangojs.urls`` to your root ``URL_CONF``:
::
urlpatterns = patterns('',
...
url(r'^djangojs/', include('djangojs.urls')),
...
)
Documentation
=============
The documentation is hosted `on Read the Docs <http://djangojs.readthedocs.org/en//>`_
Changelog
=========
(2013-07-14)
-------------
- Allow features to be disabled with:
- ``settings.JS_URLS_ENABLED``
- ``settings.JS_USER_ENABLED``
- ``settings.JS_CONTEXT_ENABLED``
- Added context black and white lists (``settings.JS_CONTEXT`` and ``settings.JS_CONTEXT_EXCLUDE``)
- Allow context serialization customization by inheritance with ``settings.JS_CONTEXT_PROCESSOR``
- Do not fail on import when parsing URLs (Fix `issue #7 <https://github.com/noirbizarre/django.js/issues/7>`_ thanks to Wasil Sergejczyk)
- Treat starred non-capturing groups and starred characters as optionnals (Fix `issue #22 <https://github.com/noirbizarre/django.js/issues/22>`_)
- Upgraded to jQuery 2.0.3 (and added 1.10.2)
- Upgraded to QUnit 1.12.0
- Added ``js`` management command.
- Extracted URLs handling and context handling into their own modules
- First contrib module: ``social_auth`` (thanks to Olivier Cortès)
0.7.6 (2013-06-07)
------------------
- Reintroduce Python 2.6 support (thanks to Andy Freeland)
- Fix `issue #20 <https://github.com/noirbizarre/django.js/issues/20>`_
0.7.5 (2013-06-01)
------------------
- Handle Django 1.5+ custom user model
- Upgraded to jQuery 2.0.2 and jQuery Migrate 1.2.1
0.7.4 (2013-05-11)
------------------
- Preserve declaration order in StorageGlobber.glob() (Fix `issue #17 <https://github.com/noirbizarre/django.js/issues/17>`_)
- Fixes on localization on handling
0.7.3 (2013-04-30)
------------------
- Upgraded to jQuery 2.0.0
- Package both minified and unminified versions.
- Load minified versions (Django.js, jQuery and jQuery Migrate) when DEBUG=False
0.7.2 (2013-04-30)
------------------
- Fix `issue #16 <https://github.com/noirbizarre/django.js/issues/16>`_
- Declare package as Python 3 compatible on PyPI
0.7.1 (2013-04-25)
------------------
- Optionnaly include jQuery with ``{% django_js_init %}``.
0.7.0 (2013-04-25)
------------------
- Added RequireJS/AMD helpers and documentation
- Added Django Pipeline integration helpers and documentation
- Support unnamed URLs resolution.
- Support custom content types to be passed into the js/javascript script tag (thanks to Travis Jensen)
- Added ``coffee`` and ``coffescript`` template tags
- Python 3 compatibility
0.6.5 (2013-03-13)
------------------
- Make JsonView reusable
- Unescape regex characters in URLs
- Fix handling of 0 as parameter for Javasript reverse URLs
0.6.4 (2013-03-10)
------------------
- Support namespaces without app_name set.
0.6.3 (2013-03-08)
------------------
- Fix CSRF misspelling (thanks to Andy Freeland)
- Added some client side CSRF helpers (thanks to Andy Freeland)
- Upgrade to jQuery 1.9.1 and jQuery Migrate 1.1.1
- Do not clutter url parameters in ``js``, ``javascript`` and ``js_lib`` template tags.
0.6.2 (2013-02-18)
------------------
- Compatible with Django 1.5
0.6.1 (2013-02-11)
------------------
- Added ``static`` method (even if it's a unused reserved keyword)
0.6 (2013-02-09)
----------------
- Added basic user attributes access
- Added permissions support
- Added ``booleans`` context processor
- Added jQuery 1.9.0 and jQuery Migrate 1.0.0
- Upgraded QUnit to 1.11.0
- Added QUnit theme support
- Allow to specify jQuery version (1.8.3 and 1.9.0 are bundled)
0.5 (2012-12-17)
----------------
- Added namespaced URLs support
- Upgraded to Jasmine 1.3.1
- Refactor testing tools:
- Rename ``test/js`` into ``js/test`` and reorganize test resources
- Renamed ``runner_url*`` into ``url*`` on ``JsTestCase``
- Handle ``url_args`` and ``url_kwargs`` on ``JsTestCase``
- Renamed ``JasmineMixin`` into ``JasmineSuite``
- Renamed ``QUnitMixin`` into ``QUnitSuite``
- Extracted runners initialization into includable templates
- Added ``JsFileTestCase`` to run tests from a static html file without live server
- Added ``JsTemplateTestCase`` to run tests from a rendered template file without live server
- Added some settings to filter scope:
- Serialized named URLs whitelist: ``settings.JS_URLS``
- Serialized named URLs blacklist: ``settings.JS_URLS_EXCLUDE``
- Serialized namespaces whitelist: ``settings.JS_URLS_NAMESPACES``
- Serialized namespaces blacklist: ``settings.JS_URLS_NAMESPACES_EXCLUDE``
- Serialized translations whitelist: ``settings.JS_I18N_APPS``
- Serialized translations blacklist: ``settings.JS_I18N_APPS_EXCLUDE``
- Expose PhantomJS timeout with ``PhantomJsRunner.timeout`` attribute
0.4 (2012-12-04)
----------------
- Upgraded to jQuery 1.8.3
- Upgraded to Jasmine 1.3.0
- Synchronous URLs and context fetch.
- Use ``django.utils.termcolors``
- Class based javascript testing tools:
- Factorize ``JsTestCase`` common behaviour
- Removed ``JsTestCase.run_jasmine()`` and added ``JasmineMixin``
- Removed ``JsTestCase.run_qunit()`` and added ``QUnitMixin``
- Extract ``TapParser`` into ``djangojs.tap``
- Only one Django.js test suite
- Each framework is tested against its own test suite
- Make jQuery support optionnal into ``JsTestCase``
- Improved JsTestCase output
- Drop Python 2.6 support
- Added API documentation
0.3.2 (2012-11-10)
------------------
- Optionnal support for Django Absolute
0.3.1 (2012-11-03)
------------------
- Added JsTestView.django_js to optionnaly include django.js
- Added js_init block to runners to templates.
0.3 (2012-11-02)
----------------
- Improved ``ready`` event handling
- Removed runners from ``urls.py``
- Added documentation
- Added ``ContextJsonView`` and ``Django.context`` fetched from json.
- Improved error handling
- Added ``DjangoJsError`` custom error type
0.2 (2012-10-23)
----------------
- Refactor template tag initialization
- Provides Jasmine and QUnit test views with test discovery (globbing)
- Provides Jasmine and QUnit test cases
- Added ``Django.file()``
- Added ``{% javascript %}``, ``{% js %}`` and ``{% css %}`` template tags
0.1.3 (2012-10-02)
------------------
- First public release
- Provides django.js with ``url()`` method and constants
- Provides ``{% verbatim %}`` template tag
- Patch ``jQuery.ajax()`` to handle CSRF tokens
- Loads the django javascript catalog for all apps supporting it
- Loads the django javascript i18n/l10n tools in the page
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
django.js-0.0.0.tar.gz
(1.1 MB
view hashes)