Skip to main content

Django integration for Laravel Mix

Project description

Django Mix

Django integration for Laravel Mix

Laravel Mix helper in python representation to easy usage with laravel-mix npm package in Django projects.

Installation

Django:

pip install djangomix

Note: Do not forget to include the package in requirements

Laravel Mix NPM package:

Follow instructions on Laravel Mix webpage

Please, see example of webpack.mix.js configration below.

Usage

Add 'djangomix' to INSTALLED APPS in Django config

INSTALLED_APPS = [
    ...
    'djangomix',
]

Include in base.html (or any other template)

{% load mix %}

Use mix template tag in your templates to load scripts, styles,...

Note: Second parameter is path to manifest.json

<script src="{% mix 'build/app.js' 'polls/static' %}"></script>

The paths are related to webpack.mix.js configuration.


You can set path for manifest dir and public path also in Django settings

MANIFEST_DIRECTORY = getattr(settings, 'LARAVELMIX_MANIFEST_DIRECTORY','')
PUBLIC_URL = getattr(settings, 'LARAVELMIX_PUBLIC_URL', settings.STATIC_URL)

Example configration of webpack.mix.js:

let mix = require('laravel-mix');

let staticPath = 'polls/static/build'
let resourcesPath = 'polls/resources'

mix.setResourceRoot('/static/build') // setResroucesRoots add prefix to url() in scss on example: from /images/close.svg to /static/images/close.svg

mix.setPublicPath('polls/static') // Path where mix-manifest.json is created

// if you don't need browser-sync feature you can remove this lines
if (process.argv.includes('--browser-sync')) {
  mix.browserSync('localhost:8000')
}

// Now you can use full mix api
mix.js(`${resourcesPath}/js/app.js`, `${staticPath}/`)
mix.sass(`${resourcesPath}/sass/app.scss`, `${staticPath}/`)

Do you have problem with setup? Read how to setup and start with Vue in Django


Maintained by: Marek Racík from IdeaLoop

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djangomix-1.1.1.tar.gz (3.9 kB view hashes)

Uploaded Source

Built Distribution

djangomix-1.1.1-py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page