Metadata-Version: 2.1
Name: django-vue-utils
Version: 0.1.4
Summary: Utilities and helpers for integrating Django + Vue
Home-page: https://github.com/ilikerobots/django-vue-utils
Author: Mike Hoolehan
Author-email: Mike Hoolehan <mike@starheightmedia.com>
License: MIT
Project-URL: Homepage, https://github.com/ilikerobots/django-vue-utils
Project-URL: Bug Tracker, https://github.com/ilikerobots/django-vue-utils/issues
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: JavaScript
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: Django>=3.2

====================
Django Vue Utilities
====================

Provides helpers and utilities for integrating with a Vue 
front-end, as described in `Cookiecutter Vue + Django`_

.. _Cookiecutter Vue + Django: https://github.com/ilikerobots/cookiecutter-vue-django

Quick start
-----------

1. Add "django_vue_utilities" to your INSTALLED_APPS setting:

.. code-block::python

    INSTALLED_APPS = [
        ...,
        "django_vue_utilities",
    ]


Settings
--------

Tailor the following settings to your Vue front-end.  The defaults are provided below.

.. code-block:: python

    VUE_FRONTEND_USE_TYPESCRIPT = False
    VUE_FRONTEND_USE_DEV_SERVER = settings.DEBUG
    VUE_FRONTEND_DEV_SERVER_URL = 'http://localhost:5173'
    VUE_FRONTEND_DEV_SERVER_PATH = 'src'
    VUE_FRONTEND_STATIC_PATH = 'vue'


Usage
-----

.. code-block:: django

   {% extends "base.html" %}

   {% load vue_utils %}

   {% block extra_js %}
     {# Import entrypoint JavaScript, choosing dev or static source depending on settings #}
     <script type="module" crossorigin src="{% vue_bundle_url 'my_vue_entrypoint' %}"></script>

     {# 'provide" strings which can 'injected' throughout the Vue app, including from within a pinia store #}
     {% url 'home' as homeUrl %}
     {% vue_provide 'homeUrl' homeUrl %}
   {% endblock %}




