2017-05-05 84 views
0

我有一個Django項目,並希望將用戶帶到openstreetmaps中的外部鏈接,該鏈接由我的Django模型提供lat和long。在我看來,我開發了一個像這樣的網址:「http://www.openstreetmap.org/?minlon=-92.024&minlat=57.5129102&maxlon=-91.52&maxlat=43.00&mlat=42.899&mlon=-91.774」,我將它作爲我的模板中的一個變量提供。我的模板中的鏈接是: <a id="map" target="_blank" href={{mapurl}}>map</a>。 {{mapurl}}是我的觀點提供的網址。Django,將外部鏈接url修改爲項目url

的問題是,Django的試圖找到一個URL的conf看起來像: 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

而不是將用戶OpenStreetMap的一個新的頁面。

有什麼想法?

+0

嘗試打印「mapurl」的價值並看看它說 – drew

回答

0

您可以在模板中直接寫出URL

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

你只需要通過各種變量在模板方面

+0

這樣做,你爲我節省了大量的時間!謝謝。 – user3472574

+0

很高興幫助。當你在視圖中構造一個URL來傳遞上下文時,Django假定你打算將它作爲應用程序的內部。因此,如果您有多個外部URL,則最好在模板中使用URL,並在上下文中傳遞查詢參數變量。 – Jason