No description
Find a file
pre-commit-ci[bot] eeab41969f
Some checks failed
lint / rust-changes (push) Has been cancelled
lint / pre-commit (push) Has been cancelled
lint / rustfmt (push) Has been cancelled
lint / clippy (push) Has been cancelled
lint / cargo-check (push) Has been cancelled
[pre-commit.ci] pre-commit autoupdate (#374)
2025-12-22 12:39:05 -06:00
.cargo add djls-django crate (#6) 2024-12-07 16:02:48 -06:00
.github migrate from macos-13 to macos-15-intel for x86_64 builds (#373) 2025-12-13 15:14:08 -06:00
.just migrate to Zensical for documentation (#357) 2025-11-05 16:09:51 -06:00
crates 🔖 bump version 5.2.4 -> 6.0.0 (#372) 2025-12-13 15:36:45 -06:00
docs update codebase for Django 6.0 public release (#371) 2025-12-13 12:27:59 -06:00
tests/project add go to definition feature for extends/include tags (#274) 2025-09-30 17:00:25 -05:00
.editorconfig make indentation consistent in toml 2025-05-02 22:16:43 -05:00
.gitignore migrate to Zensical for documentation (#357) 2025-11-05 16:09:51 -06:00
.lazy.lua create debug Neovim plugin for lsp-devtools and server logs (#292) 2025-10-03 16:44:51 -05:00
.mkdocs.yml migrate to Zensical for documentation (#357) 2025-11-05 16:09:51 -06:00
.pre-commit-config.yaml [pre-commit.ci] pre-commit autoupdate (#374) 2025-12-22 12:39:05 -06:00
.readthedocs.yaml migrate to Zensical for documentation (#357) 2025-11-05 16:09:51 -06:00
.rustfmt.toml use nightly rustfmt and sort imports (#145) 2025-05-14 00:46:55 -05:00
Cargo.lock 🔖 bump version 5.2.4 -> 6.0.0 (#372) 2025-12-13 15:36:45 -06:00
Cargo.toml update codebase for Django 6.0 public release (#371) 2025-12-13 12:27:59 -06:00
CHANGELOG.md 🔖 bump version 5.2.4 -> 6.0.0 (#372) 2025-12-13 15:36:45 -06:00
CONTRIBUTING.md update codebase for Django 6.0 public release (#371) 2025-12-13 12:27:59 -06:00
Justfile add support for Django 6.0 (#252) 2025-09-23 21:50:10 -05:00
LICENSE add complete Apache License, Version 2.0 text to LICENSE 2025-08-19 14:17:29 -05:00
noxfile.py finish migrating to tagspec v0.6.0 (#356) 2025-12-13 14:18:10 -06:00
pyproject.toml 🔖 bump version 5.2.4 -> 6.0.0 (#372) 2025-12-13 15:36:45 -06:00
README.md migrate to Zensical for documentation (#357) 2025-11-05 16:09:51 -06:00
rust-toolchain.toml bump rust toolchain to 1.90 (#242) 2025-09-19 10:23:16 -05:00
uv.lock 🔖 bump version 5.2.4 -> 6.0.0 (#372) 2025-12-13 15:36:45 -06:00

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 autocompletion with snippets Completions

  • Diagnostics - Real-time error checking and validation Diagnostics

  • Go to definition - Jump to template, block, or variable definitions

  • Find references - See where templates and blocks are used

  • Hover - View documentation and type info on hover

  • Rename - Refactor names across files

  • Formatting - Auto-format templates

  • 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 completions with snippets
  • Real-time syntax validation and diagnostics
  • Navigation to template definitions and references

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.