---
title: "Hur man anpassar kommandot shell"
version: 5.2
locale: sv
source: https://docs.djangoproject.com/sv/5.2/howto/custom-shell/
canonical: https://djangodocs.dev/sv/5.2/howto/custom-shell/
---
# Hur man anpassar kommandot `shell`

Django [`shell`](/sv/5.2/ref/django-admin/#django-admin-shell) är en interaktiv Python-miljö som ger tillgång till modeller och inställningar, vilket gör den användbar för att testa kod, experimentera med frågor och interagera med applikationsdata.

Genom att anpassa kommandot [`shell`](/sv/5.2/ref/django-admin/#django-admin-shell) kan du lägga till extra funktionalitet eller förladda specifika moduler. För att göra detta skapar du ett nytt hanteringskommando som underklassar `django.core.management.commands.shell.Command` och åsidosätter det befintliga hanteringskommandot `shell`. För mer information, se guiden om [Överskriva kommandon](/sv/5.2/howto/custom-management-commands/#overriding-commands).

## Anpassa automatisk import

> **New in Django 5.2**

Om du vill anpassa beteendet för automatisk import i hanteringskommandot [`shell`](/sv/5.2/ref/django-admin/#django-admin-shell), åsidosätter du metoden `get_auto_imports()`. Denna metod bör returnera en sekvens av importsökvägar för objekt eller moduler som är tillgängliga i programmet. Till exempel:

*`polls/hantering/kommandon/shell.py`*

```python
from django.core.management.commands import shell

class Command(shell.Command):
    def get_auto_imports(self):
        return super().get_auto_imports() + [
            "django.urls.reverse",
            "django.urls.resolve",
        ]
```

Anpassningen ovan lägger till [`resolve()`](/sv/5.2/ref/urlresolvers/#django.urls.resolve) och [`reverse()`](/sv/5.2/ref/urlresolvers/#django.urls.reverse) till standardnamnrymden, som redan innehåller alla modeller från de appar som listas i [`INSTALLED_APPS`](/sv/5.2/ref/settings/#std-setting-INSTALLED_APPS). Dessa objekt kommer att finnas tillgängliga i `shell` utan att kräva en manuell import.

Att köra detta anpassade `shell`-kommando med `verbosity=2` skulle visa:

```console
8 objects imported automatically:

  from django.contrib.admin.models import LogEntry
  from django.contrib.auth.models import Group, Permission, User
  from django.contrib.contenttypes.models import ContentType
  from django.contrib.sessions.models import Session
  from django.urls import resolve, reverse
```

Om ett åsidosatt `shell`-kommando innehåller sökvägar som inte kan importeras visas dessa fel när `verbosity` är inställt på `1` eller högre. Duplikatimport hanteras automatiskt.

Observera att automatisk import kan avaktiveras för en specifik `shell`-session med hjälp av [`--no-imports`](/sv/5.2/ref/django-admin/#cmdoption-shell-no-imports)-flaggan. För att permanent inaktivera automatisk import, åsidosätt `get_auto_imports()` så att den returnerar `None`:

```
class Command(shell.Command):
    def get_auto_imports(self):
        return None
```
