# Django 5.2.8 documentation

# `django.urls` funktioner för användning i URLconfs

## `path()`

path(route, view, kwargs=None, name=None)

Returnerar ett element som kan ingå i `urlpatterns`. Till exempel:

    from django.urls import include, path

    urlpatterns = [
        path("index/", views.index, name="main-view"),
        path("bio/<username>/", views.bio, name="bio"),
        path("articles/<slug:title>/", views.article, name="article-detail"),
        path("articles/<slug:title>/<int:section>/", views.section, name="article-section"),
        path("blog/", include("blog.urls")),
        ...,
    ]

### `route`

The `route` argument should be a string or `gettext_lazy()` (see Översättning av URL-mönster) that contains a URL pattern. The string may contain angle brackets (like `<username>` above) to capture part of the URL and send it as a keyword argument to the view. The angle brackets may include a converter specification (like the `int` part of `<int:section>`) which limits the characters matched and may also change the type of the variable passed to the view. For example, `<int:section>` matches a string of decimal digits and converts the value to an `int`.

När Django bearbetar en begäran börjar den vid det första mönstret i `urlpatterns` och tar sig nedåt i listan och jämför den begärda URL:en med varje mönster tills den hittar ett som matchar. Se Hur Django behandlar en förfrågan för mer information.

Mönster matchar inte GET- och POST-parametrar eller domännamnet. Till exempel:, i en begäran till `https://www.example.com/myapp/` kommer URLconf att leta efter `myapp/`. I en begäran till `https://www.example.com/myapp/?page=3` kommer URLconf också att leta efter `myapp/`.

### `vy`

Argumentet `view` är en vyfunktion eller resultatet av `as_view()` för klassbaserade vyer. Det kan också vara en `django.urls.include()`.

När Django hittar ett matchande mönster anropar den den angivna vyfunktionen med ett `HttpRequest`-objekt som första argument och alla ”fångade” värden från rutten som nyckelordsargument.

### `kwargs`

Med argumentet `kwargs` kan du skicka ytterligare argument till vyns funktion eller metod. Se Överföra extra alternativ till vyfunktioner för ett exempel.

### `namn`

Genom att namnge din URL kan du hänvisa till den på ett otvetydigt sätt från andra ställen i Django, särskilt från mallar. Denna kraftfulla funktion gör att du kan göra globala ändringar av URL-mönstren i ditt projekt samtidigt som du bara rör en enda fil.

Se Namngivning av URL-mönster för varför argumentet `name` är användbart.

## `re_path()`

re_path(route, view, kwargs=None, name=None)

Returnerar ett element som kan ingå i `urlpatterns`. Till exempel:

    from django.urls import include, re_path

    urlpatterns = [
        re_path(r"^index/$", views.index, name="index"),
        re_path(r"^bio/(?P<username>\w+)/$", views.bio, name="bio"),
        re_path(r"^blog/", include("blog.urls")),
        ...,
    ]

The `route` argument should be a string or `gettext_lazy()` (see Översättning av URL-mönster) that contains a regular expression compatible with Python’s `re` module. Strings typically use raw string syntax (`r''`) so that they can contain sequences like `\d` without the need to escape the backslash with another backslash. When a match is made, captured groups from the regular expression are passed to the view – as named arguments if the groups are named, and as positional arguments otherwise. The values are passed as strings, without any type conversion.

When a `route` ends with `$` the whole requested URL, matching against `path_info`, must match the regular expression pattern (`re.fullmatch()` is used).

The `view`, `kwargs` and `name` arguments are the same as for `path()`.

## `include()`

include(module, namespace=None)
include(pattern_list)
include((pattern_list, app_namespace), namespace=None)

  En funktion som tar en fullständig Python-importväg till en annan URLconf-modul som ska ”inkluderas” på denna plats. Eventuellt kan även application namespace och instance namespace där posterna ska inkluderas i anges.

  Vanligtvis bör applikationens namnrymd anges av den inkluderade modulen. Om ett applikationsnamnområde har angetts kan argumentet `namespace` användas för att ange ett annat instansnamnområde.

  `include()` accepterar också som argument antingen en iterabel som returnerar URL-mönster eller en 2-tupel som innehåller en sådan iterabel plus namnen på applikationens namnrymder.

  Parametrar:

    - module – URLconf-modul (eller modulnamn)

    - namespace (str) – Instansnamnområde för de URL-poster som inkluderas

    - pattern_list – Iterabel av `path()` och/eller `re_path()` instanser.

    - app_namespace (str) – Applikationsnamnrymd för de URL-poster som inkluderas

Se Inkludera andra URLconfs och URL-namnrymder och inkluderade URL-konf.

## `registrera_omvandlare()`

register_converter(converter, type_name)

The function for registering a converter for use in `path()` `route`s.

Argumentet `converter` är en konverterarklass och `type_name` är det konverterarnamn som ska användas i sökvägsmönster. Se Registrering av anpassade sökvägsomvandlare för ett exempel.

# `django.conf.urls` funktioner för användning i URLconfs

## `static()`

static.static(prefix, view=django.views.static.serve, **kwargs)

Hjälpfunktion för att returnera ett URL-mönster för att visa filer i felsökningsläge:

    from django.conf import settings
    from django.conf.urls.static import static

    urlpatterns = [
        # ... the rest of your URLconf goes here ...
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

## `Handläggare400`

handler400

En callable, eller en sträng som representerar den fullständiga Python-importsökvägen till den vy som ska anropas om HTTP-klienten har skickat en begäran som orsakade ett feltillstånd och ett svar med statuskod 400.

Som standard är detta `django.views.defaults.bad_request()`. Om du implementerar en anpassad vy, se till att den accepterar `request` och `exception` argument och returnerar en `HttpResponseBadRequest`.

## `Handläggare403`

handler403

En anropsbar vy, eller en sträng som representerar den fullständiga Python-importsökvägen till den vy som ska anropas om användaren inte har de behörigheter som krävs för att komma åt en resurs.

Som standard är detta `django.views.defaults.permission_denied()`. Om du implementerar en anpassad vy, se till att den accepterar argumenten `request` och `exception` och returnerar en `HttpResponseForbidden`.

## `Handläggare404`

handler404

En anropsbar vy, eller en sträng som representerar den fullständiga Python-importsökvägen till den vy som ska anropas om inget av URL-mönstren matchar.

Som standard är detta `django.views.defaults.page_not_found()`. Om du implementerar en anpassad vy, se till att den accepterar `request` och `exception` argument och returnerar en `HttpResponseNotFound`.

## `handläggare500`

handler500

En callable, eller en sträng som representerar den fullständiga Python-importsökvägen till den vy som ska anropas vid serverfel. Serverfel inträffar när du har körtidsfel i vykoden.

Som standard är detta `django.views.defaults.server_error()`. Om du implementerar en anpassad vy, se till att den accepterar ett `request`-argument och returnerar en `HttpResponseServerError`.