2017-05-05 2 views
0

Ich habe ein Django-Projekt und möchte den Benutzer zu einem externen Link in openstreetmaps bringen, der lat und lang von meinem Django-Modell geliefert wird. Aus meiner Sicht entwickle ich eine URL wie diese: "http://www.openstreetmap.org/?minlon=-92.024&minlat=57.5129102&maxlon=-91.52&maxlat=43.00&mlat=42.899&mlon=-91.774" und ich stelle es als eine Variable in meiner Vorlage zur Verfügung. Der Link in meiner Vorlage lautet: <a id="map" target="_blank" href={{mapurl}}>map</a>. {{mapurl}} ist die URL, die aus meiner Sicht gespeist wird.Django, externe Link-URL geändert, um URL zu projizieren

Das Problem ist, dass Django versucht, eine URL conf zu finden, die wie folgt aussieht: http://127.0.0.1:8000/beach/1825108/%22http://www.openstreetmap.org/?minlon=-92.0240039&minlat=42.78940921&maxlon=-91.5240039&maxlat=43.00940921&mlat=42.89940921&mlon=-91.7740039%22

anstatt unter den Benutzern auf Openstreetmap in einer neuen Seite.

Irgendwelche Gedanken?

+0

Versuchen Sie, den Wert von ‚mapurl‘ Drucken und sehen, was es sagt – drew

Antwort

0

Sie die URL direkt in die Vorlage schreiben

zB

<a id='map' 
    target='_blank' 
    href='http://www.openstreetmap.org/?minlon={{minLon}}&minlat={{minLat}}&maxlon={{maxLon}}&maxLat={{maxLat}}&mlon={{mLon}}&mlat={{mLat}}' 
>Map</a> 

Sie würden nur die verschiedenen Variablen in der Vorlage Kontext passieren müssen

+0

das tat, hast du mir eine Menge Zeit gerettet! Danke. – user3472574

+0

Froh, dass geholfen hat. Wenn Sie eine URL in der Ansicht erstellen, um den Kontext zu übergeben, geht Django davon aus, dass Sie beabsichtigen, dass sie intern in der Anwendung ist. Wenn Sie also eine Reihe von externen URLs haben, ist es am besten, wenn Sie die URL in der Vorlage haben und die Abfrageparam-Variablen im Kontext übergeben. – Jason

Verwandte Themen