2011-11-18 28 views
1

我需要在PHP中使用類似file_get_contents的東西。 我kwnow它的一些這樣的:如何在django模板中插入來自第三方網址的html代碼?

import urllib2 
urllib2.urlopen(url).read() 

,但我怎麼可以把它放在Django的HTML模板?

Thx快速回答。

+3

你不把它放在模板中,因爲模板確實呈現,這是數據拉伸。所以你在你的視圖中這樣做,將結果賦給模板上下文,然後在模板中渲染它。 – Ski

+0

好吧,我添加這個來查看var:tpldata ['somecode']。現在我怎麼能把它放入模板? – Kamilos

+1

是的,你可以。渲染模板最簡單的方法是'django.shortcuts'中的'render_to_response'函數。模板中的變量呈現如下:'{{somevar | safe}}'。 'safe'關鍵字告訴template-engine這是html代碼,它是安全的(它不會被轉義)。查看django-template語言文檔以獲取更多詳細信息https://docs.djangoproject.com/zh/dev/topics/templates/。也看看內置標籤:https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs – Ski

回答

2

你不能直接把它放到django的html模板語言中。您可能會考慮:

  • 預取html,將其存儲在某處並將其呈現給模板。
  • 使用ajax調用,它會觸發一個執行抓取的視圖,然後在DOM中插入您的html(這在服務器端阻塞並且速度很慢)。
  • 如果您確實希望這是非阻塞的,請使用非阻塞服務器。以這個code爲例。
相關問題