Embora a maior parte do núcleo do Django seja escrito em Python, alguns apps como o admin
e gis
contém código JavaScript.
Por favor siga esses padrões de código quando estiver escrevendo código em JavaScript para inclusão no Django.
.editorconfig
. Nós recomendamos usar o editor de textos com suporte a EditorConfig para evitar problemas com identação e espaços em branco. A maioria dos arquivos JavaScript usam 4 espaços para identação, mas existem algumas exceções.camelCase
ao invés de underscore_case
. Arquivos JavaScript diferentes algumas vezes usam estilos de código diferentes. Por favor tente se adequar aos padrões de estilo de cada arquivo.$('body').on('click', selector, func)
instead of
$(selector).click(func)
. This makes it easier for projects to extend
Django’s default behavior with JavaScript.Django’s admin system leverages the jQuery framework to increase the capabilities of the admin interface. In conjunction, there is an emphasis on admin JavaScript performance and minimizing overall admin media file size.
Os testes para o JavaScript do Django podem ser rodados em um browser ou diretamente da linha de comando. Os testes estão localizados no diretório js_tests
.
Os testes em JavaScript do Django utilizam QUnit. Segue um exemplo de teste de um módulo.
QUnit.module('magicTricks', {
beforeEach: function() {
const $ = django.jQuery;
$('#qunit-fixture').append('<button class="button"></button>');
}
});
QUnit.test('removeOnClick removes button on click', function(assert) {
const $ = django.jQuery;
removeOnClick('.button');
assert.equal($('.button').length, 1);
$('.button').click();
assert.equal($('.button').length, 0);
});
QUnit.test('copyOnClick adds button on click', function(assert) {
const $ = django.jQuery;
copyOnClick('.button');
assert.equal($('.button').length, 1);
$('.button').click();
assert.equal($('.button').length, 2);
});
Please consult the QUnit
documentation for information on the types of
assertions supported by QUnit.
Os testes JavaScript pode ser executados de um browser ou diretamente da linha de comando.
Para executar os testes através de um browser, abra o arquivo js_tests/tests.html
dentro do seu browser.
Para medir a cobertura de código quando estiver executando os testes, você precisará visualizar o arquivo através de um servidor HTTP. Para ver a cobertura de código:
python -m http.server
from the root directory (not from inside
js_tests
).Para executar os testes da linha de comando, você precisará ter o Node.js instalado.
After installing Node.js
, install the JavaScript test dependencies by
running the following from the root of your Django checkout:
$ npm install
...\> npm install
E então rode os testes com:
$ npm test
...\> npm test
mar. 08, 2023