django-js-reverse


Namedjango-js-reverse JSON
Version 0.10.2 PyPI version JSON
download
home_pagehttps://github.com/ierror/django-js-reverse
SummaryJavascript url handling for Django that doesn't hurt.
upload_time2023-08-14 22:40:32
maintainer
docs_urlNone
authorBernhard Janetzki
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage
            =================
Django JS Reverse
=================

.. image:: https://img.shields.io/pypi/v/django-js-reverse.svg
   :target: https://pypi.python.org/pypi/django-js-reverse/

.. image:: https://img.shields.io/travis/ierror/django-js-reverse/master.svg
   :target: https://travis-ci.org/ierror/django-js-reverse

.. image:: https://coveralls.io/repos/github/vintasoftware/django-js-reverse/badge.svg?branch=master
   :target: https://coveralls.io/github/vintasoftware/django-js-reverse?branch=master

.. image:: https://img.shields.io/github/license/ierror/django-js-reverse.svg
    :target: https://raw.githubusercontent.com/ierror/django-js-reverse/master/LICENSE

.. image:: https://img.shields.io/pypi/wheel/django-js-reverse.svg


**Javascript url handling for Django that doesn’t hurt.**

This package is now maintained by `Vinta Software <https://vintasoftware.com.br>`__ but it was originally created by `@ierror <https://github.com/ierror>`__. Many thanks to you, Bernhard.


Overview
--------

Django JS Reverse is a small django app that makes url handling of
`named urls <https://docs.djangoproject.com/en/dev/topics/http/urls/#naming-url-patterns>`__ in javascript easy and non-annoying..

For example you can retrieve a named url:

urls.py:

::

    url(r'^/betterliving/(?P<category_slug>[-\w]+)/(?P<entry_pk>\d+)/$', 'get_house', name='betterliving_get_house'),

in javascript like:

::

    Urls.betterlivingGetHouse('house', 12)

Result:

::

    /betterliving/house/12/


Requirements
------------

+----------------+--------------------+
| Python version | Django versions    |
+================+====================+
| 3.11           | 4.2, 4.1, 4.0, 3.2 |
+----------------+--------------------+
| 3.10           | 4.2, 4.1, 4.0, 3.2 |
+----------------+--------------------+
| 3.9            | 4.2, 4.1, 4.0, 3.2 |
+----------------+--------------------+
| 3.8            | 4.2, 4.1, 4.0, 3.2 |
+----------------+--------------------+


Installation
------------

Install using ``pip`` …

::

    pip install django-js-reverse

… or clone the project from github.

::

    git clone https://github.com/ierror/django-js-reverse.git

Add ``'django_js_reverse'`` to your ``INSTALLED_APPS`` setting.

::

    INSTALLED_APPS = (
        ...
        'django_js_reverse',
    )


Usage with webpack
------------------

Install using ``npm``

::

    npm install --save django-js-reverse


Include none-cached view …

::

    urlpatterns = patterns('',
        url(r'^jsreverse.json$', 'django_js_reverse.views.urls_json', name='js_reverse'),
    )

… or a cached one that delivers the urls JSON

::

    from django_js_reverse import views
    urlpatterns = patterns('',
        url(r'^jsreverse.json$', cache_page(3600)(views.urls_json), name='js_reverse'),
    )

Include JavaScript in your bundle:

::

    // utils/djangoReverse.mjs
    import _ from 'lodash/fp';
    import djangoJsReverse from 'django-js-reverse';

    export default _.once(
      async () => {
        const res = await fetch('/jsreverse.json');
        const data = await res.json();
        return djangoJsReverse(data);
      }
    )

::

    // somePlace.mjs
    import djangoReverse from './utils/djangoReverse';

    (async () => {
      const urls = await djangoReverse();
      const url = urls.someViewName('some-arg');
      ...
    })();


Usage as static file
--------------------

First generate static file by

::

    ./manage.py collectstatic_js_reverse

If you change some urls or add an app and want to update the reverse.js file,
run the command again.

After this add the file to your template

::

    <script src="{% static 'django_js_reverse/js/reverse.js' %}"></script>


Usage with views
----------------

Include none-cached view …

::

    urlpatterns = patterns('',
        url(r'^jsreverse/$', 'django_js_reverse.views.urls_js', name='js_reverse'),
    )

… or a cached one that delivers the urls javascript

::

    from django_js_reverse.views import urls_js
    urlpatterns = patterns('',
        url(r'^jsreverse/$', cache_page(3600)(urls_js), name='js_reverse'),
    )

Include javascript in your template

::

    <script src="{% url js_reverse %}" type="text/javascript"></script>

or, if you are using Django > 1.5

::

    <script src="{% url 'js_reverse' %}" type="text/javascript"></script>


Usage as template tag
_____________________

You can place the js_reverse JavaScript inline into your templates,
however use of inline JavaScript is not recommended, because it
will make it impossible to deploy a secure Content Security Policy.
See `django-csp <https://django-csp.readthedocs.io/>`__

::

    {% load js_reverse %}

    <script type="text/javascript" charset="utf-8">
        {% js_reverse_inline %}
    </script>


Use the urls in javascript
--------------------------

If your url names are valid javascript identifiers ([$A-Z\_][-Z\_$]\*)i
you can access them by the Dot notation:

::

    Urls.betterlivingGetHouse('house', 12)

If the named url contains invalid identifiers use the Square bracket
notation instead:

::

    Urls['betterliving-get-house']('house', 12)
    Urls['namespace:betterliving-get-house']('house', 12)

You can also pass javascript objects to match keyword aguments like the
examples bellow:

::

    Urls['betterliving-get-house']({ category_slug: 'house', entry_pk: 12 })
    Urls['namespace:betterliving-get-house']({ category_slug: 'house', entry_pk: 12 })

Options
-------

Optionally, you can overwrite the default javascript variable ‘Urls’ used
to access the named urls by django setting

::

    JS_REVERSE_JS_VAR_NAME = 'Urls'

Optionally, you can change the name of the global object the javascript variable
used to access the named urls is attached to. Default is :code:`this`

::

    JS_REVERSE_JS_GLOBAL_OBJECT_NAME = 'window'


Optionally, you can disable the minfication of the generated javascript file
by django setting

::

    JS_REVERSE_JS_MINIFY = False


By default all namespaces are included

::

    JS_REVERSE_EXCLUDE_NAMESPACES = []

To exclude any namespaces from the generated javascript file, add them to the `JS_REVERSE_EXCLUDE_NAMESPACES` setting

::

    JS_REVERSE_EXCLUDE_NAMESPACES = ['admin', 'djdt', ...]

If you want to include only specific namespaces add them to the `JS_REVERSE_INCLUDE_ONLY_NAMESPACES` setting
tips:
* Use "" (empty string) for urls without namespace
* Use "foo\0" to include urls just from "foo" namaspace and not from any subnamespaces (e.g. "foo:bar")

::

    JS_REVERSE_INCLUDE_ONLY_NAMESPACES = ['poll', 'calendar', ...]

If you run your application under a subpath, the collectstatic_js_reverse needs to take care of this.
Define the prefix in your django settings:

::

   JS_REVERSE_SCRIPT_PREFIX = '/myprefix/'

By default collectstatic_js_reverse writes its output (reverse.js) to your project's STATIC_ROOT.
You can change the output path:

::

    JS_REVERSE_OUTPUT_PATH = 'some_path'


Running the test suite
----------------------

::

    tox

License
-------

`MIT <https://raw.github.com/ierror/django-js-reverse/master/LICENSE>`__


Support
-------

This project is currently maintained by `Vinta Software <https://vintasoftware.com>`__. If you need support please contact us on `contact@vintasoftware.com <mailto:contact@vintasoftware.com>`__.

--------------

Enjoy!


0.10.2 (2023-08-14)
---------------------

- Drop support to older version of Python and Django that aren't being officially supported anymore.

0.10.1b1 (2023-08-14)
---------------------

- Update for Django 4.0 and 4.1, Python 3.8, 3.9, 3.10

0.10.1a1 (2023-08-14)
---------------------

- Update pypi deploy username and token


0.10.1a (2019-08-02)
--------------------

- support webpack and other bundlers


0.10.0 (2019-08-01)
-------------------

- deprecate django_js_reverse.VERSION. It will now always be ``(0, 9, 2)``
- deprecate js_reverse_inline
- use setuptools.setup

0.9.1
-----

- Fix: avoid XSS introduced in 0.9.0 when using js_reverse_inline. A low threat as content injected is likely to be trusted input from the urlconfig.

0.9.0
-----

- New: Support for Python 3.7
- New: Support for Django 2.2
- New: Unit Tests Script prefix with no slash, changed URL Conf`#72 <https://github.com/ierror/django-js-reverse/issues/72>`__
  Thank you `graingert <https://github.com/graingert>`__
- Fix: "ROOT_URLCONF not taken into account" `#73 <https://github.com/ierror/django-js-reverse/issues/73>`__ `#74 <https://github.com/ierror/django-js-reverse/issues/74>`__
  Thank you `LuukOost <https://github.com/LuukOost>`__ and `graingert <https://github.com/graingert>`__
- Refactoring: "move template logic to view" `#64 <https://github.com/ierror/django-js-reverse/issues/64>`__
  Thank you `graingert <https://github.com/graingert>`__
- Fix: "Now using LooseVersion instead of StrictVersion to avoid issues with rc releases" `#67 <https://github.com/ierror/django-js-reverse/issues/64>`__
  Thank you `kavdev <https://github.com/kavdev>`__

0.8.2
-----

- Fix: A bug fix in Django 2.0.6 has broken django-js-reverse `#65 <https://github.com/ierror/django-js-reverse/issues/65>`_
  Thank you `kavdev <https://github.com/kavdev>`_

0.8.1
-----

- Fix: The tests folder of the `#53 <https://github.com/ierror/django-js-reverse/issues/53>`__ was still present in the build. => Added cleanup to the release make command.

0.8.0
-----

- New: Support for Django 2.0: `#58 <https://github.com/ierror/django-js-reverse/issues/58>`_
  Thank you `wlonk <https://github.com/wlonk>`_
- Fix: `#53 <https://github.com/ierror/django-js-reverse/issues/53>`__ - Don't install the tests folder as a separate folder.  Moved inside the django_js_reverse namespace.

0.7.3
-----

- New: Support for Django 1.10
- Chg: Renamed "production" branch to "master"
- Fix: `#48 <https://github.com/ierror/django-js-reverse/issues/48>`_ - "Change False to 'window' in global object name in README."
  Thank you `karamanolev <https://github.com/karamanolev>`_
- Fix: `PR #45 <https://github.com/ierror/django-js-reverse/pull/45>`_ - "Fix: collectstatic_js_reverse usage message"
  Thank you `ghedsouza <https://github.com/ghedsouza>`_
- Fix: `PR #44 <https://github.com/ierror/django-js-reverse/pull/44>`_ - "Remove duplicate _get_url call"
  Thank you `razh <https://github.com/razh>`_

0.7.2
-----

- Fix: `#42 <https://github.com/ierror/django-js-reverse/issues/42>`_ - "Templatetag js_reverse_inline breaks on Django 1.9"
  Thank you `tommikaikkonen <https://github.com/tommikaikkonen>`_
- Optimized imports

0.7.1
-----
- Fix: `#41 <https://github.com/ierror/django-js-reverse/issues/41>`_ - make it possible to use number 0 as url argument

0.7.0
-----
- New: By default collectstatic_js_reverse writes its output (reverse.js) to your project's STATIC_ROOT. Now You can change settings: JS_REVERSE_OUTPUT_PATH
  Thank you `mjnaderi <https://github.com/ierror/django-js-reverse/pull/36>`__
- New: Support for Django 1.9
  Thank you `mjnaderi <https://github.com/ierror/django-js-reverse/pull/37>`__
- New: It's now possible to include specific namespaces only. See JS_REVERSE_INCLUDE_ONLY_NAMESPACES setting for details.
  Thank you BrnoPCmaniak

0.6.1
-----

- Refactored: Separate the view functionality from the JS generation
- New: Replaced slimit by rjsmin based on `#33 <https://github.com/ierror/django-js-reverse/pull/33/>`_
  Thank you chripede

0.6.0
-----

- Fix: `#27 <https://github.com/ierror/django-js-reverse/pull/27>`_
  Thank you michael-borisov
- New: Support for Keyword-based URL reversing `#30 <https://github.com/ierror/django-js-reverse/pull/30/>`_
  Thank you hyperair

0.5.1
-----

- Fix: Current ply breaks slimit => force ply==3.4

0.5.0
-----

- New: Django allows you to have multiple URL patterns with the same name.
- This release adds support for the featuer.
  Thank you defrex
- New: Test support for django 1.8
- New: test for script_prefix without ending slash

0.4.6
-----

- New: You can change the name (default=this) of the global object the javascript variable used to access the named
  urls is attached to by changing JS_REVERSE_JS_GLOBAL_OBJECT_NAME setting.
  Thank you aumo

0.4.5
-----

- Fix: If you run your application under a subpath, the collectstatic_js_reverse needs to take care of this. You can
  now define a setting JS_REVERSE_SCRIPT_PREFIX that handles this issue.
  Thank you lizter for reporting the issue

0.4.4
-----

- Improvement: management command collectstatic_js_reverse throws an error if settings.STATIC_ROOT is not set
- Tests: exluded a debug print from coverage
- Removed: support for django 1.4
- New: Templatetag to include js-reverse-js inline in your templates

0.4.3
-----

- New: Add better support for django rest framework
  Django rest framework generates url names like user-list, so it get's converted now as well so
  ``Urls['user-list']()`` or the cleaner ``Urls.user_list()`` are both usable.
- Fix: JSReverseStaticFileSaveTest is working and being tested again
- Improvement: Cleanup Javascript
  Thank you bulv1ne for the pull request
- New: Test support for the latest pypy versions pypy3-2.4.0 and pypy-2.5.0
- Fix: Get rid of test warning "MIDDLEWARE_CLASSES is not set." for Django >= 1.7

0.4.2
-----

- Provided PyPI wheel Package

0.4.1
-----

- Fix: collectstatic runner: moved to own management command collectstatic_js_reverse

0.4.0
-----

- Add ability to save in file::

      <script src="{% static 'django_js_reverse/js/reverse.js' %}"></script>``

  to do this run ./manage.py collectstatic

  Add JS_REVERSE_EXCLUDE_NAMESPACES option
  to exclude namespaces from import
  default is []

  To exclude e.g. admin and Django Debug Toolbar::

      JS_REVERSE_EXCLUDE_NAMESPACES = ['admin', 'djdt']

  Thank you Andertaker

0.3.4
-----

- New: Support for nested namespaces. Thank you hyperair
- New: Support for arguments within namespace path. Thank you hyperair
- New: Support for optional url arguments. Thank you hyperair

0.3.3
-----

- New: Django 1.7 support

0.3.2
-----

- New: Default minification of the generated javascript file
- Fix: content type of the jsreverse script. Thank you @emcsween
- Testing: Use selenium for better testing

0.3.1
-----

- Added support for namespaces

0.3.0
-----

- Test support for pypy, python 3.4, django 1.6
- Refactored include of JS_REVERSE_JS_VAR_NAME js var name
- Get rid of "DeprecationWarning: The mimetype keyword argument is depracated, use content_type instead"

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ierror/django-js-reverse",
    "name": "django-js-reverse",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Bernhard Janetzki",
    "author_email": "boerni@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/98/37/1d8c8a9f9de2588df8f18b36f6a3e4134e362f49a14d0c9b0b02a301ef9e/django-js-reverse-0.10.2.tar.gz",
    "platform": null,
    "description": "=================\nDjango JS Reverse\n=================\n\n.. image:: https://img.shields.io/pypi/v/django-js-reverse.svg\n   :target: https://pypi.python.org/pypi/django-js-reverse/\n\n.. image:: https://img.shields.io/travis/ierror/django-js-reverse/master.svg\n   :target: https://travis-ci.org/ierror/django-js-reverse\n\n.. image:: https://coveralls.io/repos/github/vintasoftware/django-js-reverse/badge.svg?branch=master\n   :target: https://coveralls.io/github/vintasoftware/django-js-reverse?branch=master\n\n.. image:: https://img.shields.io/github/license/ierror/django-js-reverse.svg\n    :target: https://raw.githubusercontent.com/ierror/django-js-reverse/master/LICENSE\n\n.. image:: https://img.shields.io/pypi/wheel/django-js-reverse.svg\n\n\n**Javascript url handling for Django that doesn\u2019t hurt.**\n\nThis package is now maintained by `Vinta Software <https://vintasoftware.com.br>`__ but it was originally created by `@ierror <https://github.com/ierror>`__. Many thanks to you, Bernhard.\n\n\nOverview\n--------\n\nDjango JS Reverse is a small django app that makes url handling of\n`named urls <https://docs.djangoproject.com/en/dev/topics/http/urls/#naming-url-patterns>`__ in javascript easy and non-annoying..\n\nFor example you can retrieve a named url:\n\nurls.py:\n\n::\n\n    url(r'^/betterliving/(?P<category_slug>[-\\w]+)/(?P<entry_pk>\\d+)/$', 'get_house', name='betterliving_get_house'),\n\nin javascript like:\n\n::\n\n    Urls.betterlivingGetHouse('house', 12)\n\nResult:\n\n::\n\n    /betterliving/house/12/\n\n\nRequirements\n------------\n\n+----------------+--------------------+\n| Python version | Django versions    |\n+================+====================+\n| 3.11           | 4.2, 4.1, 4.0, 3.2 |\n+----------------+--------------------+\n| 3.10           | 4.2, 4.1, 4.0, 3.2 |\n+----------------+--------------------+\n| 3.9            | 4.2, 4.1, 4.0, 3.2 |\n+----------------+--------------------+\n| 3.8            | 4.2, 4.1, 4.0, 3.2 |\n+----------------+--------------------+\n\n\nInstallation\n------------\n\nInstall using ``pip`` \u2026\n\n::\n\n    pip install django-js-reverse\n\n\u2026 or clone the project from github.\n\n::\n\n    git clone https://github.com/ierror/django-js-reverse.git\n\nAdd ``'django_js_reverse'`` to your ``INSTALLED_APPS`` setting.\n\n::\n\n    INSTALLED_APPS = (\n        ...\n        'django_js_reverse',\n    )\n\n\nUsage with webpack\n------------------\n\nInstall using ``npm``\n\n::\n\n    npm install --save django-js-reverse\n\n\nInclude none-cached view \u2026\n\n::\n\n    urlpatterns = patterns('',\n        url(r'^jsreverse.json$', 'django_js_reverse.views.urls_json', name='js_reverse'),\n    )\n\n\u2026 or a cached one that delivers the urls JSON\n\n::\n\n    from django_js_reverse import views\n    urlpatterns = patterns('',\n        url(r'^jsreverse.json$', cache_page(3600)(views.urls_json), name='js_reverse'),\n    )\n\nInclude JavaScript in your bundle:\n\n::\n\n    // utils/djangoReverse.mjs\n    import _ from 'lodash/fp';\n    import djangoJsReverse from 'django-js-reverse';\n\n    export default _.once(\n      async () => {\n        const res = await fetch('/jsreverse.json');\n        const data = await res.json();\n        return djangoJsReverse(data);\n      }\n    )\n\n::\n\n    // somePlace.mjs\n    import djangoReverse from './utils/djangoReverse';\n\n    (async () => {\n      const urls = await djangoReverse();\n      const url = urls.someViewName('some-arg');\n      ...\n    })();\n\n\nUsage as static file\n--------------------\n\nFirst generate static file by\n\n::\n\n    ./manage.py collectstatic_js_reverse\n\nIf you change some urls or add an app and want to update the reverse.js file,\nrun the command again.\n\nAfter this add the file to your template\n\n::\n\n    <script src=\"{% static 'django_js_reverse/js/reverse.js' %}\"></script>\n\n\nUsage with views\n----------------\n\nInclude none-cached view \u2026\n\n::\n\n    urlpatterns = patterns('',\n        url(r'^jsreverse/$', 'django_js_reverse.views.urls_js', name='js_reverse'),\n    )\n\n\u2026 or a cached one that delivers the urls javascript\n\n::\n\n    from django_js_reverse.views import urls_js\n    urlpatterns = patterns('',\n        url(r'^jsreverse/$', cache_page(3600)(urls_js), name='js_reverse'),\n    )\n\nInclude javascript in your template\n\n::\n\n    <script src=\"{% url js_reverse %}\" type=\"text/javascript\"></script>\n\nor, if you are using Django > 1.5\n\n::\n\n    <script src=\"{% url 'js_reverse' %}\" type=\"text/javascript\"></script>\n\n\nUsage as template tag\n_____________________\n\nYou can place the js_reverse JavaScript inline into your templates,\nhowever use of inline JavaScript is not recommended, because it\nwill make it impossible to deploy a secure Content Security Policy.\nSee `django-csp <https://django-csp.readthedocs.io/>`__\n\n::\n\n    {% load js_reverse %}\n\n    <script type=\"text/javascript\" charset=\"utf-8\">\n        {% js_reverse_inline %}\n    </script>\n\n\nUse the urls in javascript\n--------------------------\n\nIf your url names are valid javascript identifiers ([$A-Z\\_][-Z\\_$]\\*)i\nyou can access them by the Dot notation:\n\n::\n\n    Urls.betterlivingGetHouse('house', 12)\n\nIf the named url contains invalid identifiers use the Square bracket\nnotation instead:\n\n::\n\n    Urls['betterliving-get-house']('house', 12)\n    Urls['namespace:betterliving-get-house']('house', 12)\n\nYou can also pass javascript objects to match keyword aguments like the\nexamples bellow:\n\n::\n\n    Urls['betterliving-get-house']({ category_slug: 'house', entry_pk: 12 })\n    Urls['namespace:betterliving-get-house']({ category_slug: 'house', entry_pk: 12 })\n\nOptions\n-------\n\nOptionally, you can overwrite the default javascript variable \u2018Urls\u2019 used\nto access the named urls by django setting\n\n::\n\n    JS_REVERSE_JS_VAR_NAME = 'Urls'\n\nOptionally, you can change the name of the global object the javascript variable\nused to access the named urls is attached to. Default is :code:`this`\n\n::\n\n    JS_REVERSE_JS_GLOBAL_OBJECT_NAME = 'window'\n\n\nOptionally, you can disable the minfication of the generated javascript file\nby django setting\n\n::\n\n    JS_REVERSE_JS_MINIFY = False\n\n\nBy default all namespaces are included\n\n::\n\n    JS_REVERSE_EXCLUDE_NAMESPACES = []\n\nTo exclude any namespaces from the generated javascript file, add them to the `JS_REVERSE_EXCLUDE_NAMESPACES` setting\n\n::\n\n    JS_REVERSE_EXCLUDE_NAMESPACES = ['admin', 'djdt', ...]\n\nIf you want to include only specific namespaces add them to the `JS_REVERSE_INCLUDE_ONLY_NAMESPACES` setting\ntips:\n* Use \"\" (empty string) for urls without namespace\n* Use \"foo\\0\" to include urls just from \"foo\" namaspace and not from any subnamespaces (e.g. \"foo:bar\")\n\n::\n\n    JS_REVERSE_INCLUDE_ONLY_NAMESPACES = ['poll', 'calendar', ...]\n\nIf you run your application under a subpath, the collectstatic_js_reverse needs to take care of this.\nDefine the prefix in your django settings:\n\n::\n\n   JS_REVERSE_SCRIPT_PREFIX = '/myprefix/'\n\nBy default collectstatic_js_reverse writes its output (reverse.js) to your project's STATIC_ROOT.\nYou can change the output path:\n\n::\n\n    JS_REVERSE_OUTPUT_PATH = 'some_path'\n\n\nRunning the test suite\n----------------------\n\n::\n\n    tox\n\nLicense\n-------\n\n`MIT <https://raw.github.com/ierror/django-js-reverse/master/LICENSE>`__\n\n\nSupport\n-------\n\nThis project is currently maintained by `Vinta Software <https://vintasoftware.com>`__. If you need support please contact us on `contact@vintasoftware.com <mailto:contact@vintasoftware.com>`__.\n\n--------------\n\nEnjoy!\n\n\n0.10.2 (2023-08-14)\n---------------------\n\n- Drop support to older version of Python and Django that aren't being officially supported anymore.\n\n0.10.1b1 (2023-08-14)\n---------------------\n\n- Update for Django 4.0 and 4.1, Python 3.8, 3.9, 3.10\n\n0.10.1a1 (2023-08-14)\n---------------------\n\n- Update pypi deploy username and token\n\n\n0.10.1a (2019-08-02)\n--------------------\n\n- support webpack and other bundlers\n\n\n0.10.0 (2019-08-01)\n-------------------\n\n- deprecate django_js_reverse.VERSION. It will now always be ``(0, 9, 2)``\n- deprecate js_reverse_inline\n- use setuptools.setup\n\n0.9.1\n-----\n\n- Fix: avoid XSS introduced in 0.9.0 when using js_reverse_inline. A low threat as content injected is likely to be trusted input from the urlconfig.\n\n0.9.0\n-----\n\n- New: Support for Python 3.7\n- New: Support for Django 2.2\n- New: Unit Tests Script prefix with no slash, changed URL Conf`#72 <https://github.com/ierror/django-js-reverse/issues/72>`__\n  Thank you `graingert <https://github.com/graingert>`__\n- Fix: \"ROOT_URLCONF not taken into account\" `#73 <https://github.com/ierror/django-js-reverse/issues/73>`__ `#74 <https://github.com/ierror/django-js-reverse/issues/74>`__\n  Thank you `LuukOost <https://github.com/LuukOost>`__ and `graingert <https://github.com/graingert>`__\n- Refactoring: \"move template logic to view\" `#64 <https://github.com/ierror/django-js-reverse/issues/64>`__\n  Thank you `graingert <https://github.com/graingert>`__\n- Fix: \"Now using LooseVersion instead of StrictVersion to avoid issues with rc releases\" `#67 <https://github.com/ierror/django-js-reverse/issues/64>`__\n  Thank you `kavdev <https://github.com/kavdev>`__\n\n0.8.2\n-----\n\n- Fix: A bug fix in Django 2.0.6 has broken django-js-reverse `#65 <https://github.com/ierror/django-js-reverse/issues/65>`_\n  Thank you `kavdev <https://github.com/kavdev>`_\n\n0.8.1\n-----\n\n- Fix: The tests folder of the `#53 <https://github.com/ierror/django-js-reverse/issues/53>`__ was still present in the build. => Added cleanup to the release make command.\n\n0.8.0\n-----\n\n- New: Support for Django 2.0: `#58 <https://github.com/ierror/django-js-reverse/issues/58>`_\n  Thank you `wlonk <https://github.com/wlonk>`_\n- Fix: `#53 <https://github.com/ierror/django-js-reverse/issues/53>`__ - Don't install the tests folder as a separate folder.  Moved inside the django_js_reverse namespace.\n\n0.7.3\n-----\n\n- New: Support for Django 1.10\n- Chg: Renamed \"production\" branch to \"master\"\n- Fix: `#48 <https://github.com/ierror/django-js-reverse/issues/48>`_ - \"Change False to 'window' in global object name in README.\"\n  Thank you `karamanolev <https://github.com/karamanolev>`_\n- Fix: `PR #45 <https://github.com/ierror/django-js-reverse/pull/45>`_ - \"Fix: collectstatic_js_reverse usage message\"\n  Thank you `ghedsouza <https://github.com/ghedsouza>`_\n- Fix: `PR #44 <https://github.com/ierror/django-js-reverse/pull/44>`_ - \"Remove duplicate _get_url call\"\n  Thank you `razh <https://github.com/razh>`_\n\n0.7.2\n-----\n\n- Fix: `#42 <https://github.com/ierror/django-js-reverse/issues/42>`_ - \"Templatetag js_reverse_inline breaks on Django 1.9\"\n  Thank you `tommikaikkonen <https://github.com/tommikaikkonen>`_\n- Optimized imports\n\n0.7.1\n-----\n- Fix: `#41 <https://github.com/ierror/django-js-reverse/issues/41>`_ - make it possible to use number 0 as url argument\n\n0.7.0\n-----\n- New: By default collectstatic_js_reverse writes its output (reverse.js) to your project's STATIC_ROOT. Now You can change settings: JS_REVERSE_OUTPUT_PATH\n  Thank you `mjnaderi <https://github.com/ierror/django-js-reverse/pull/36>`__\n- New: Support for Django 1.9\n  Thank you `mjnaderi <https://github.com/ierror/django-js-reverse/pull/37>`__\n- New: It's now possible to include specific namespaces only. See JS_REVERSE_INCLUDE_ONLY_NAMESPACES setting for details.\n  Thank you BrnoPCmaniak\n\n0.6.1\n-----\n\n- Refactored: Separate the view functionality from the JS generation\n- New: Replaced slimit by rjsmin based on `#33 <https://github.com/ierror/django-js-reverse/pull/33/>`_\n  Thank you chripede\n\n0.6.0\n-----\n\n- Fix: `#27 <https://github.com/ierror/django-js-reverse/pull/27>`_\n  Thank you michael-borisov\n- New: Support for Keyword-based URL reversing `#30 <https://github.com/ierror/django-js-reverse/pull/30/>`_\n  Thank you hyperair\n\n0.5.1\n-----\n\n- Fix: Current ply breaks slimit => force ply==3.4\n\n0.5.0\n-----\n\n- New: Django allows you to have multiple URL patterns with the same name.\n- This release adds support for the featuer.\n  Thank you defrex\n- New: Test support for django 1.8\n- New: test for script_prefix without ending slash\n\n0.4.6\n-----\n\n- New: You can change the name (default=this) of the global object the javascript variable used to access the named\n  urls is attached to by changing JS_REVERSE_JS_GLOBAL_OBJECT_NAME setting.\n  Thank you aumo\n\n0.4.5\n-----\n\n- Fix: If you run your application under a subpath, the collectstatic_js_reverse needs to take care of this. You can\n  now define a setting JS_REVERSE_SCRIPT_PREFIX that handles this issue.\n  Thank you lizter for reporting the issue\n\n0.4.4\n-----\n\n- Improvement: management command collectstatic_js_reverse throws an error if settings.STATIC_ROOT is not set\n- Tests: exluded a debug print from coverage\n- Removed: support for django 1.4\n- New: Templatetag to include js-reverse-js inline in your templates\n\n0.4.3\n-----\n\n- New: Add better support for django rest framework\n  Django rest framework generates url names like user-list, so it get's converted now as well so\n  ``Urls['user-list']()`` or the cleaner ``Urls.user_list()`` are both usable.\n- Fix: JSReverseStaticFileSaveTest is working and being tested again\n- Improvement: Cleanup Javascript\n  Thank you bulv1ne for the pull request\n- New: Test support for the latest pypy versions pypy3-2.4.0 and pypy-2.5.0\n- Fix: Get rid of test warning \"MIDDLEWARE_CLASSES is not set.\" for Django >= 1.7\n\n0.4.2\n-----\n\n- Provided PyPI wheel Package\n\n0.4.1\n-----\n\n- Fix: collectstatic runner: moved to own management command collectstatic_js_reverse\n\n0.4.0\n-----\n\n- Add ability to save in file::\n\n      <script src=\"{% static 'django_js_reverse/js/reverse.js' %}\"></script>``\n\n  to do this run ./manage.py collectstatic\n\n  Add JS_REVERSE_EXCLUDE_NAMESPACES option\n  to exclude namespaces from import\n  default is []\n\n  To exclude e.g. admin and Django Debug Toolbar::\n\n      JS_REVERSE_EXCLUDE_NAMESPACES = ['admin', 'djdt']\n\n  Thank you Andertaker\n\n0.3.4\n-----\n\n- New: Support for nested namespaces. Thank you hyperair\n- New: Support for arguments within namespace path. Thank you hyperair\n- New: Support for optional url arguments. Thank you hyperair\n\n0.3.3\n-----\n\n- New: Django 1.7 support\n\n0.3.2\n-----\n\n- New: Default minification of the generated javascript file\n- Fix: content type of the jsreverse script. Thank you @emcsween\n- Testing: Use selenium for better testing\n\n0.3.1\n-----\n\n- Added support for namespaces\n\n0.3.0\n-----\n\n- Test support for pypy, python 3.4, django 1.6\n- Refactored include of JS_REVERSE_JS_VAR_NAME js var name\n- Get rid of \"DeprecationWarning: The mimetype keyword argument is depracated, use content_type instead\"\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Javascript url handling for Django that doesn't hurt.",
    "version": "0.10.2",
    "project_urls": {
        "Download": "http://pypi.python.org/pypi/django-js-reverse/",
        "Homepage": "https://github.com/ierror/django-js-reverse"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dd43802aed629f651a922a5a6f4932fa5dff5b5324b6e6f0e3054f4edb483134",
                "md5": "613247acb652d1b6103bec6ed42e483c",
                "sha256": "f17b328028a91f25ce2b8142e5e55b6622d0ab332324c7fd34aa002955f85a2d"
            },
            "downloads": -1,
            "filename": "django_js_reverse-0.10.2-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "613247acb652d1b6103bec6ed42e483c",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 24535,
            "upload_time": "2023-08-14T22:40:30",
            "upload_time_iso_8601": "2023-08-14T22:40:30.483739Z",
            "url": "https://files.pythonhosted.org/packages/dd/43/802aed629f651a922a5a6f4932fa5dff5b5324b6e6f0e3054f4edb483134/django_js_reverse-0.10.2-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "98371d8c8a9f9de2588df8f18b36f6a3e4134e362f49a14d0c9b0b02a301ef9e",
                "md5": "525cd56c33708fce8ad3ea6caf1b122b",
                "sha256": "ac1664397935ed45ef1e23a80e6df182d766f4559d6dffd049beac92e63bce20"
            },
            "downloads": -1,
            "filename": "django-js-reverse-0.10.2.tar.gz",
            "has_sig": false,
            "md5_digest": "525cd56c33708fce8ad3ea6caf1b122b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 25031,
            "upload_time": "2023-08-14T22:40:32",
            "upload_time_iso_8601": "2023-08-14T22:40:32.160337Z",
            "url": "https://files.pythonhosted.org/packages/98/37/1d8c8a9f9de2588df8f18b36f6a3e4134e362f49a14d0c9b0b02a301ef9e/django-js-reverse-0.10.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-14 22:40:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ierror",
    "github_project": "django-js-reverse",
    "travis_ci": true,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "django-js-reverse"
}
        
Elapsed time: 0.71720s