0.3.0 • Published 8 years ago

grunt-contrib-django v0.3.0

Weekly downloads
121
License
MIT
Repository
github
Last release
8 years ago

grunt-contrib-django

Grunt tasks to run common django commands.

NPM Build Status

Getting Started

This plugin requires Grunt ~0.4.0

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-contrib-django --save-dev

Usage

Basic gruntfile.js

'use strict';

module.exports = function (grunt) {
    grunt.initConfig({
        'django-manage': {
            options: {
                app: 'myApp',
                // only if your 'manager.py' is on another path
                manage_path: './path/to/manage/'
            },
            serve: {
		options: {
                    command: 'runserver',
                    args: [],
                    background: true, // also accepts string/regexp
                    unBuffered: true // set python env to PYTHONUNBUFFERED=1 so STDOUT doesnt get buffered and grunt can read it
                    // NOTE: background setting also sets unBuffered to true by default
		    
		}
            },
            test: {
                options: {
                    command: 'test',
                    args: [
                        'myApp/tests',
                        '--pattern=test_*.py',
                        '--settings=myApp.settings.tests'
                    ]
                }
            },
            dump: {
                options: {
                    command: 'dumpdata',
                    args: [
                        '--format=json',
                        '--indent=4',
                        'myApp',                       // return only on application's models
                        '> ./path/to/output_file.json' // save in file
                    ]
                }
            }
        },
        'django-admin': {
            options: {
                app: 'myApp'
            },
            'compile': {
                options: {
                    command: 'compilemessages',
                    verbose: true // or 'errors' for STDERROR messages only
                }
            }
        }
    });

    grunt.registerTask('test', ['django-manage:test']);
    grunt.registerTask('compile', ['django-admin:compile']);
    grunt.registerTask('dump', ['django-manage:dump']);
    grunt.registerTask('default', ['test']);

    grunt.loadNpmTasks('grunt-contrib-django');
};

Calling tasks

To run a dumpdata command you should run the following:

grunt dump // This will run 'python manage.py dumpdata --format=json --indent=4 myApp > ../path/to/output_file.json'

or

grunt django-manage:dump // which will also run 'python manage.py dumpdata --format=json --indent=4 myApp > ./path/to/output_file.json'

License

The MIT license