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.

Files for djangomix, version 1.1.3
Filename, size File type Python version Upload date Hashes
Filename, size djangomix-1.1.3-py3-none-any.whl (4.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size djangomix-1.1.3.tar.gz (4.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page