URL’s in Django worden gedefinieerd in het bestand `urls.py` van een Django-project of -app. Dit bestand bevat een lijst met `urlpatterns`, die mapt de verschillende URL-paden die door het project of app worden verwerkt.
Hier is een voorbeeld van een `urls.py` bestand:
```
from django.urls import path
from . import views
urlpatterns = [
path(‘articles/’, views.article_list, name=‘article_list’),
path(‘articles/
]
```
In dit voorbeeld worden twee routes gedefinieerd: één voor een lijst met artikelen en één voor de details van één enkel artikel. De `name` parameter in de `path` functie wordt gebruikt om URL’s elders in de code te genereren.
Je kunt de URL voor een route genereren met de functie `reverse` van Django. Deze functie neemt de naam van de route als eerste argument en eventuele benodigde parameters als extra argumenten. De `reverse` functie geeft de geschikte URL weer als een string.
Hier is een voorbeeld van hoe je de `reverse` functie kunt gebruiken om een URL te genereren:
```
from django.urls import reverse
In dit voorbeeld wordt de functie `reverse` gebruikt om de URL’s voor de artikel lijst en artikel details te genereren. De `args` parameter specificeert de waarden van eventuele positional arguments in de URL.
Let op: De `reverse` functie werpt een `NoReverseMatch` uitzondering op als er geen overeenkomstig pad kan worden gevonden. Dit kan gebeuren indien de genoemde naam van het pad niet bestaat in uw url patronen of, in het geval van patronen die argumenten vereisen, als u niet het juiste aantal argumenten heeft opgegeven.
Bronnen:
- Django Documentatie, URL Dispatcher. (https://docs.djangoproject.com/en/3.2/topics/http/urls/)
- Django Documentatie, reverse(). (https://docs.djangoproject.com/en/3.2/ref/urlresolvers/#reverse)