Skip to main content

django-language-server

PyPI PyPI - Python Version Django Version

A language server for the Django web framework.

Features

  • Completions - Template tag and filter autocompletion with snippets Completions
  • Diagnostics - Real-time error checking and validation Diagnostics
  • 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
  • Find references - See where templates and inherited blocks are used
    • Template references for {% extends %} and {% include %}
    • Block references across template inheritance
    • Variable references
  • Document links - Click through resolved template references and template libraries
    • Template names in {% extends %} and {% include %}
    • Template libraries in {% load %}
  • Folding ranges - Fold Django template regions Folding ranges
  • Hover - View documentation for Django template tags, filters, libraries, and template references Hover tag Hover filter Hover template
  • 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

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

See all client configurations.

Most editors can use uvx --from django-language-server djls serve to run the server on-demand without installing it. Alternatively, install it globally first:

uv tool install django-language-server
# or: pipx install django-language-server

See the Installation guide for Homebrew, pip, standalone binaries, and source builds. The djls CLI can also check templates without an editor.

Once configured, open any Django template file in your project to get:

  • Template tag and filter completions with snippets
  • Real-time syntax validation and diagnostics
  • Hover documentation for template tags, filters, libraries, and template references
  • Navigation to templates, inherited blocks, and Python definitions for Template Libraries, Tags, and Filters
  • Reference search across template inheritance blocks
  • Clickable links for {% extends %}, {% include %}, and {% load %} names
  • Quick fixes for unloaded template tags/filters and mismatched {% endblock %} names
  • Folding for Django template regions
  • Outline symbols for template structure
  • Opt-in LSP document formatting through djangofmt

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

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-language-server 6.1.0
File Size Uploaded
django_language_server-6.1.0.tar.gz 946.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for django-language-server 6.1.0
File
django_language_server-6.1.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
django_language_server-6.1.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
django_language_server-6.1.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
django_language_server-6.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
django_language_server-6.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
django_language_server-6.1.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
django_language_server-6.1.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 49.8 MB

Release files / django_language_server-6.1.0.tar.gz

Download URL django_language_server-6.1.0.tar.gz
Size 946.6 kB
Tags Source
SHA-256 checksum
How to use checksums
920bd0cf58b9f58f3b930606bc8e0baa45fb4769eee019e63059063e60bb8ae8
BLAKE2b-256 checksum
How to use checksums
a8f8b58e278d8757bb8a713f058de42d3c8e59dcac56e7ea715a09fc57afba53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / django_language_server-6.1.0-py3-none-win_amd64.whl

Download URL django_language_server-6.1.0-py3-none-win_amd64.whl
Size 7.3 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
f17310609be0511b4f0b3757c03e23335a3a0731aafbfb05929c47cd14bc05ab
BLAKE2b-256 checksum
How to use checksums
7f29789bcedc4902cfae8103aa33e72b6b8efa85194ef1fa3c063c67888ebf43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / django_language_server-6.1.0-py3-none-musllinux_1_2_x86_64.whl

Download URL django_language_server-6.1.0-py3-none-musllinux_1_2_x86_64.whl
Size 7.3 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
1cd6276d56622dad91bdcb39cc7b7f58639ec95376daa0997f29a2c66e8f5ba1
BLAKE2b-256 checksum
How to use checksums
b0bf7a8db6c5ac86a5b70999fcd209b2e8ecb0db0cde841216df82dc4984c234
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / django_language_server-6.1.0-py3-none-musllinux_1_2_aarch64.whl

Download URL django_language_server-6.1.0-py3-none-musllinux_1_2_aarch64.whl
Size 6.7 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
a38b9188676ab18b4fa20fd11bedc8b8cde64515dacf57d31dcdba14cca2b879
BLAKE2b-256 checksum
How to use checksums
277cc87c83300a3045a1c4a5a63152fe443f8668c0987c11fe0466d3628d5d67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / django_language_server-6.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL django_language_server-6.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 7.2 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
56cbd9f1cdbfbf4a3d9f5922c4797f1ba410b1d4ca5ee085627aa44654c10819
BLAKE2b-256 checksum
How to use checksums
f72808d3e50125ae59b5520220657a3b3d2028bf06e64a743f55669a906a49af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / django_language_server-6.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL django_language_server-6.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 6.8 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
2f799dcf703a9ca9a0a4043d860f2e6f715c9d8e90a1793dd0d4203067735a4d
BLAKE2b-256 checksum
How to use checksums
41b6dc055f92528c3e1c0cb1d0f63c65257cc01efe6e6df155e065603d31d3e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / django_language_server-6.1.0-py3-none-macosx_11_0_arm64.whl

Download URL django_language_server-6.1.0-py3-none-macosx_11_0_arm64.whl
Size 6.7 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bfa3ac31b18bd3498a2d3e91f9f3bab9ebdf7956a40bbed3f5c85c2c6581dc48
BLAKE2b-256 checksum
How to use checksums
6fdde3363242a99f1ac92272c874c75644c2b0dadbf3bc39ccf599b1190d134d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / django_language_server-6.1.0-py3-none-macosx_10_12_x86_64.whl

Download URL django_language_server-6.1.0-py3-none-macosx_10_12_x86_64.whl
Size 7.0 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
ff01bb4ae77a2e46dc633c624c3cdc30ebec120185ef949eb7c58937ab66d8af
BLAKE2b-256 checksum
How to use checksums
00291eddad1575e30c683c01a56cc2a34a18bc32d765de3246ae9e9c6506eb6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page