JavaScriptLink to this heading

Selagi kebanyakan inti Django adalah Python, aplikasi penyumbang admin and gis mengandung kode JavaScript.

Silahkan mengikuti standar pengkodean ketika menulis kode javaScript untuk penyertaan di Django.

Gaya kodeLink to this heading

  • Harap konfirmasikan gaya lekukan didiktekan dalam berkas .editorconfig. Kami menganjurkan menggunakan penyunting teks dengan dukungan EditorConfig untuk menghindari masalah lekukan dan ruang kosong. Kebanyakan berkas-berkas JavaScript menggunakan 4 spasi untuk lekukan, tetapi ada beberapa pengecualian.

  • Ketika memberi nama variabel, gunakan camelCase daripada underscore_case. Berkas-berkas JavaScript berbeda terkadang menggunakan gaya kode berbeda. Harap coba tegaskan pada gaya kode dari setiap berkas.

  • Use the ESLint code linter to check your code for bugs and style errors. ESLint will be run when you run the JavaScript tests. We also recommended installing a ESLint plugin in your text editor.

  • Jika memungkinkan, tulis kode yang akan bekerja bahkan jika struktur halaman terakhir dirubah dengan JavaScript. Sebagai contoh, ketika mengikat sebuah penangan klik, gunakan $('body').on('click', selector, func)` daripada $(selector).click(func). Ini membuatnya lebih mudah untuk memperpanjang perilaku awalan Django dengan JavaScript.

Tambalan JavaScriptLink to this heading

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.

Percobaan JavaScriptLink to this heading

Percobaan JavaScript Django dapat berjalan di perambah atau baris perintah. Percobaan ditempatkan di tingkat atas pelipat js_tests.

Menulis percobaanLink to this heading

Percobaan JavasScript Django menggunakan QUnit. Ini adalah sebuah contoh percobaan modul:

JavaScript
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.

Menjalankan percobaanLink to this heading

Percobaan JavaScript dapat berjalan dari perambah jaringan atau dari baris perintah.

Dicoba dari sebuah perambah jaringanLink to this heading

Untuk menjalankan percobaan dari perambah jaringan, buka js_tests/tests.html di perambah anda.

Untuk mengukur cakupan kode ketika menjalankan percobaan, anda butuh melihat berkas itu melalui HTTP. Untuk melihat cakupan kode:

Percobaan dari baris perintahLink to this heading

Untuk menjalankan percobaan dari baris perintah, anda butuh mempunyai Node.js terpasang.

After installing Node.js, install the JavaScript test dependencies by running the following from the root of your Django checkout:

Linux / macOS

Shell
$ npm install

Windows

Windows
...\> npm install

lalu jalankan percobaan dengan:

Linux / macOS

Shell
$ npm test

Windows

Windows
...\> npm test