2016-06-20 4 views
0

Ich benutze Django 1.9, um einen Linkverkürzer zu bauen. Ich habe eine einfache HTML-Seite erstellt, wo der Benutzer die lange URL eingeben kann. Ich habe auch die Methoden zur Verkürzung dieser URL codiert. Die Daten werden in der Datenbank gespeichert und ich kann die verkürzte URL für den Benutzer anzeigen.Erstellen eines Linkverkürzers in Django

Ich möchte wissen, was ich als nächstes tun muss. Was passiert, wenn ein Nutzer die kürzere URL besucht? Sollte ich Weiterleitungen oder etwas anderes verwenden? Ich habe keine Ahnung von diesem Thema.

+0

Verwenden Sie Pakete von Drittanbietern, um die URL zu verkürzen oder Ihre eigene Logik zu schreiben, um die URL zu verkürzen? – MicroPyramid

+0

@MicroPyramid Ich habe meine eigene Methode geschrieben. –

+0

Ja, verwenden Sie Redirects - suchen Sie die tatsächliche URL in Ihrer Datenbank und geben Sie eine permanente (um den Browser in der Zukunft direkt dorthin zu leiten) umleiten zu dieser Site. – jonrsharpe

Antwort

1

Normalerweise, wenn Sie einen URL-Sheller bereitstellen, nachdem Sie die URL aufgerufen haben, müssen Sie um 301 Permanently moved auf Haupt-URL umleiten.

def resolve_url(request,url): 
    origin_url=resolve(url) # read from redis or so. 
    return HttpResponseRedirect(origin_url) 

EDIT: Zusatzcode @ danny-cullen Hinweis

1

Sie könnten nur auf die URL navigieren über HttpResponseRedirect

1

eine middleware schreiben stattdessen in jeder Ansicht denselben Code zu schreiben, wie Wenn sich die verkürzte URL in dem Modell befindet, das Sie gespeichert haben, können Sie die verkürzte URL mithilfe von HttpResponseRedirect auf die lange URL umleiten.