grunt-contrib-django
v0.3.0
Published
Grunt tasks to run common django commands. Inspired from rockabox/grunt-django-manage
Downloads
66
Maintainers
Readme
grunt-contrib-django
Grunt tasks to run common django commands.
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'