Skip to main content

A language server for the Django web framework

Project description

django-language-server

PyPI PyPI - Python Version Django Version

A language server for the Django web framework.

[!CAUTION] This project is in early stages. All Most features are incomplete and missing.

Features

  • Completions - Template tag and filter autocompletion with snippets Completions
  • Diagnostics - Real-time error checking and validation Diagnostics
  • Go to definition - Jump to template, block, or variable definitions
    • Template navigation for {% extends %} and {% include %}
    • Block and variable definitions
  • Find references - See where templates, blocks, and variables are used
    • Template references for {% extends %} and {% include %}
    • Block and variable references
  • 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
  • Rename - Refactor names across files
  • Code actions - Quick fixes and refactorings
  • 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 more options including pip, standalone binaries, and building from source.

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 template definitions and references
  • Folding for Django template regions
  • Outline symbols for template structure

Documentation

Visit djls.joshthomas.dev for full documentation including installation guides, configuration options, and editor setup instructions.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_language_server-6.0.3.tar.gz (476.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

django_language_server-6.0.3-py3-none-win_amd64.whl (4.9 MB view details)

Uploaded Python 3Windows x86-64

django_language_server-6.0.3-py3-none-musllinux_1_2_x86_64.whl (5.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

django_language_server-6.0.3-py3-none-musllinux_1_2_aarch64.whl (4.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

django_language_server-6.0.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

django_language_server-6.0.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

django_language_server-6.0.3-py3-none-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

django_language_server-6.0.3-py3-none-macosx_10_12_x86_64.whl (4.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file django_language_server-6.0.3.tar.gz.

File metadata

File hashes

Hashes for django_language_server-6.0.3.tar.gz
Algorithm Hash digest
SHA256 0006650acd8ead54540ea3316d7d8dbe601221fd029c1ca8b9d9766205fcfeb8
MD5 c182d6970275a26696aeedc1e649676d
BLAKE2b-256 73290325549b813f8ff9fa9cef1bc736fe6fb803eef8cc8a4897ae58dff93faa

See more details on using hashes here.

File details

Details for the file django_language_server-6.0.3-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for django_language_server-6.0.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ff87a15aa006042468f95b978416a8ea50c830d3a6be09b22bf2e7a508881f83
MD5 b87c62df3142f7e22f04928d8ee37f7f
BLAKE2b-256 56c8701005afde74cbeb01c1ec57e41025a67372c5eb79976a7433cf02c47856

See more details on using hashes here.

File details

Details for the file django_language_server-6.0.3-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for django_language_server-6.0.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c94b1d8edd867f54d4f75b7c0e74ccf98fc310d25597c828068f46a3d3b5c40a
MD5 b64d013ccf9e744eb3383f24aa2a37c1
BLAKE2b-256 64dbb3dcc77a6ce59aedefe03123b21f7d7fb8960107846187675fa5421e9d18

See more details on using hashes here.

File details

Details for the file django_language_server-6.0.3-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for django_language_server-6.0.3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ceba17195f6be9cd7a34073b74814002063db2f0a529fa1c6be2df4ceb63db9d
MD5 b8c8d8d80241ae83bc1efee3d8b90a0c
BLAKE2b-256 b62bcb8cc01bad24d6077ada7a3514f72d9d61244f85c79903fba5154181dec1

See more details on using hashes here.

File details

Details for the file django_language_server-6.0.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for django_language_server-6.0.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73fd0aa4784f3df31f414aa8c9a47ab403f99f22b9a86b153ce9bf957abf57dc
MD5 b2395f7d0258336bf81cc8b902cbd54b
BLAKE2b-256 501b00cdbe10894b8a0b12a3a46501337c1a341ca81ef49b20afb5573e493485

See more details on using hashes here.

File details

Details for the file django_language_server-6.0.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for django_language_server-6.0.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4cf68cb0e3bd05faa7da262e584929de109e8278b0280afc51e23eb48dd7ef65
MD5 cd67c05fe0085a3b541db6fae1f70254
BLAKE2b-256 fb3ef4210a89d8abd3f036ffaaa7846691e54e33a0b0d4a8575bdfaa19b92c55

See more details on using hashes here.

File details

Details for the file django_language_server-6.0.3-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for django_language_server-6.0.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 06c3af767ba6ea5de6ed8a05fe66dcf14c2f34d6298e58f386ea0dbf364e4e7a
MD5 8510c39e4900a85e3ce5949e8d2a708c
BLAKE2b-256 147a440f8ee7b9eb615f8dc7a214682533d2c83ce13051e415525555c26ecb4e

See more details on using hashes here.

File details

Details for the file django_language_server-6.0.3-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for django_language_server-6.0.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7080fd3fec4436ecee4ea84bbc7abdc3ab224425dd4364dbd6eee10bbe831da7
MD5 d8d2023e50362cef76041c798ded9059
BLAKE2b-256 52efcd288b6cb238e19174935cc0b6c23948442aff0c52bddcedb69b15724f93

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page