django-language-server
A language server for the Django web framework.
New to language servers, or unsure whether you need one? Start with Why a language server?
Features
- Completions - Template tag and filter autocompletion with snippets
- Diagnostics - Real-time error checking and validation
- Command-line checks - Validate template files and directories with
djls check - Go to definition - Jump to template, block, and registered Python definitions
- Template navigation for
{% extends %}and{% include %} - Template Library, Tag, Filter, and selective-load symbol navigation
- Exact source highlighting in editors that support definition links
- Block definitions across template inheritance
- Variable definitions
- Template navigation for
- Find references - See where templates and inherited blocks are used
- Template references for
{% extends %}and{% include %} - Block references across template inheritance
- Variable references
- Template references for
- Document links - Click through resolved template references and template libraries
- Template names in
{% extends %}and{% include %} - Template libraries in
{% load %}
- Template names in
- Folding ranges - Fold Django template regions
- Hover - View documentation for Django template tags, filters, libraries, and template references
- Code actions - Quick fixes for unloaded tags or filters and mismatched closing block names
- Formatting - Opt-in LSP document formatting through
djangofmt - Rename - Refactor names across files
- Document symbols - Outline view of template structure
- Workspace symbols - Search across all project templates
- Signature help - Parameter hints while typing
Getting Started
Follow the getting started guide to go from nothing to a working setup: install the server, configure your editor, and open a template.
The short version:
uv tool install django-language-server
# or: pipx install django-language-server
Then set up your editor's LSP client to run the server:
- VS Code - Install the extension from the marketplace
- Neovim - Configure with
vim.lsp.config() - Sublime Text - Set up with LSP package
- Zed - Install the extension
Any other editor with an LSP client works too; see Editor setup. The Installation reference covers Homebrew, pip, standalone binaries, and source builds. The djls CLI can check templates without an editor.
Documentation
Visit djls.joshthomas.dev for full documentation including installation guides, configuration options, and editor setup instructions.
Contributing
See the contributor guide for development setup, testing, snapshots, and code-quality workflows.
License
django-language-server is licensed under the Apache License, Version 2.0. See the LICENSE file for more information.
django-language-server is not associated with the Django Software Foundation.
Django is a registered trademark of the Django Software Foundation.
Metadata
Release files for django-language-server 6.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| django_language_server-6.1.1.tar.gz | 6.0 MB | Without provenance | Details for django_language_server-6.1.1.tar.gz |
Built distributions (wheels)
Total release size: 95.0 MB
Release files / django_language_server-6.1.1.tar.gz
| Download URL | django_language_server-6.1.1.tar.gz |
|---|---|
| Size | 6.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a0140fbbbc3db60a8b06362d9ac25a5112da54a09670511ad05843358ad7582
|
|
BLAKE2b-256 checksum How to use checksums |
18c5b0239103b9b2688c7a37d275b36194838c8d817143aedbd590be5d175e55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Release files / django_language_server-6.1.1-py3-none-win_amd64.whl
| Download URL | django_language_server-6.1.1-py3-none-win_amd64.whl |
|---|---|
| Size | 13.0 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cd747e53f344e934df7881d128e9f0cfaf80e04db0182fde5c1ef8702c363475
|
|
BLAKE2b-256 checksum How to use checksums |
89a0017e3c6420bbb7c4cbd9d5ed538ab53b9d162ac1cab186fe58858ec5f00c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Release files / django_language_server-6.1.1-py3-none-musllinux_1_2_x86_64.whl
| Download URL | django_language_server-6.1.1-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 13.0 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
6e71d162f35c85066f490e520e12d9074852d605ec5c7cf82a7378327ab1fc6f
|
|
BLAKE2b-256 checksum How to use checksums |
9fad02c105ce4b29df379d70326c0a7dc0bffecf3405efb6e327168408b07de2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Release files / django_language_server-6.1.1-py3-none-musllinux_1_2_aarch64.whl
| Download URL | django_language_server-6.1.1-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 12.4 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
e0a6947cfe7124257af06cfe11bd51ad09d1b842c95f962706e252e1e8b13eea
|
|
BLAKE2b-256 checksum How to use checksums |
8680b41f738bbb46892c2b57181cd0761d5f9b910b18628435573034554fec44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Release files / django_language_server-6.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | django_language_server-6.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 12.9 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
0fc30a9d74d8deab02223ef95240056c23196cf1950345fe947664454f106c4b
|
|
BLAKE2b-256 checksum How to use checksums |
7813a48c84e7d71fe02641f85453b91686b0a11e65e15bdd3d3e0cac7324d982
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Release files / django_language_server-6.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | django_language_server-6.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 12.5 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
6ee507118149d4997b5087d494b01e075f8b34d758bc0c20215adb0a251b7d07
|
|
BLAKE2b-256 checksum How to use checksums |
2f8090853cfa2f2a63c19506afd3d673af420c9d718ef66b7332de779a383882
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Release files / django_language_server-6.1.1-py3-none-macosx_11_0_arm64.whl
| Download URL | django_language_server-6.1.1-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 12.4 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ccf127293f99fb9af4db861bcc04ae0f2acc719afba5c59ebd75d6e7b9e04212
|
|
BLAKE2b-256 checksum How to use checksums |
e11522473ba69ce8e30dc3debe2ad69ba7470b4df0d0de3008f3d77deb192630
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Release files / django_language_server-6.1.1-py3-none-macosx_10_12_x86_64.whl
| Download URL | django_language_server-6.1.1-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 12.7 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
800d6bc7e7010d965a0d39cec20d41e8f379c7c114ccc5e7c872ac052399e8ec
|
|
BLAKE2b-256 checksum How to use checksums |
04b3ff196aab6d0fa7cb3410d6cf5d2825735ebc883813e802849a67e1e8118b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.15.0
|
Security for django-language-server 6.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.