About URL Resolving
Using the resolve_url() function, your third-party Django app can let users define various types of URLs via settings—for example, an EASTER_EGG_URL setting:
from django.shortcuts import resolve_url, render, redirect
from django.conf import settings
def boring_info(request):
if "secret-game" in request.GET:
return redirect(resolve_url(settings.EASTER_EGG_URL))
return render(request, "misc/boring_info.html")
The resolve_url() function accepts the following types of input:
- an object that has a
get_absolute_url()method; - a relative path (e.g.
"./change/"); - a named URL path (e.g.
"accounts:register"); - a lazily reversed URL path (e.g.
reverse_lazy("accounts:register"); - a full URL (e.g.
"https://djangotricks.com").
Tips and Tricks Programming Django 5.2 Django 4.2 Django 3.2
Also by me
Django Paddle Subscriptions app
For Django-based SaaS projects.
Django GDPR Cookie Consent app
For Django websites that use cookies.