399 Stimmen

Wie man die aktuelle URL innerhalb einer Django-Vorlage erhalten?

Ich habe mich gefragt, wie man die aktuelle URL in einer Vorlage abrufen kann.

Nehmen wir an, meine aktuelle URL lautet:

.../user/profile/

Wie kann ich dies in die Vorlage zurückbringen?

6voto

Radren Punkte 307

Ich nehme an, dass das Senden einer vollständigen Anfrage an die Vorlage ein wenig überflüssig ist. Ich mache es auf diese Weise

from django.shortcuts import render

def home(request):
    app_url = request.path
    return render(request, 'home.html', {'app_url': app_url})

##template
{{ app_url }}

4voto

CoderGuy123 Punkte 5617

Die anderen Antworten waren falsch, zumindest in meinem Fall. request.path gibt nicht die vollständige URL an, sondern nur die relative URL, z. B. /paper/53 . Ich habe keine geeignete Lösung gefunden, also habe ich den konstanten Teil der URL in der Ansicht hart kodiert, bevor ich ihn mit request.path .

3voto

Raj Kalathiya Punkte 357

Sie können die Url ohne Parameter erhalten, indem Sie {{Anfrage.Pfad}} Sie können die Url mit Parametern erhalten, indem Sie {{request.get_full_path}}

3voto

Hamed Shiani Punkte 31

Wenn Sie partiell rendern, ist es besser, wenn Sie

{{ request.path_info }}

Sie gibt die genaue URL der Seite zurück

2voto

namjoo Punkte 1318

Für Django > 3 Ich ändere keine Einstellungen oder ähnliches. Ich füge den folgenden Code in die Vorlagendatei ein.

{{ request.path }}  #  -without GET parameters 
{{ request.get_full_path }}  # - with GET parameters

und in view.py Pass Anfrage in die Vorlagendatei einfügen.

view.py:

def view_node_taxon(request, cid):
    showone = get_object_or_404(models.taxon, id = cid)
    context = {'showone':showone,'request':request}
    mytemplate  = loader.get_template('taxon/node.html')
    html = mytemplate.render(context)
    return HttpResponse(html)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X