Grunt tasks to run common django commands. Tested commands (should work for any cmd BTW):
manage.py
:django-admin.py
:
NOTICE: feel free to complete this list based on your own experience :)
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
'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/'
},
tests: {
options: {
command: 'test',
args: [
'myApp/tests',
'--pattern="*Tests.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
}
}
}
});
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');
};
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'