2012-08-30 57 views
-1

在PHP中PHP可以是模板語言。對於那些不需要模板系統/語言的人來說,它似乎工作的很好。你如何使用本地Python模板的網頁(沒有框架)?

但是,我找不到任何與Python語言相似的東西。你怎麼做這樣的事情:

我把這個從另一個不相關的SO問題:

<?php foreach($dates as $year => $year_content ): ?> 
<h2><?php echo $year ?></h2> 

<?php foreach($year_content['months'] as $months): ?> 
<h3><?php echo $months->month ?> - <?php echo $months->sales ?></h3> 
<?php endforeach; ?> 

<?php endforeach; ?> 

我只是找不到這樣的事了「原生」的Python在Web視圖,而無需人的框架。謝謝。

編輯:沒有冒犯性。不想要模板語言。

編輯:儘管downvotes,一個例子是Python 3. While there is a five year expectancy to have 2.x users going to 3.x,並非所有的模板語言支持3.x.例如Jinja具有「expiremental」3.x支持。我爲什麼要使用它?我不會。這讓我依賴於他們,我希望能夠使用本地的東西,但是,唉,看起來我不能。

+0

您使用模板庫。 Jinja2很好。 – geoffspear

+1

Python不是PHP,所以你不能指望所有在PHP中工作的東西在Python中具有確切的等價性。你爲什麼不想使用模板包? –

+0

@DavidRobinson首先是控制。我不想成爲別人框架的奴隸。 – johnny

回答

1

在PHP的意義上,Python沒有原生模板。你可以使用Python作爲ISAPI擴展,這會給你像<% print "foo" %>的語法。或者,您可以在純CGI中編寫python腳本。這些道路可能非常痛苦,使用框架可以更好地服務 - 框架爲您提供了其他開發人員體驗的優勢,並平滑了直接處理CGI和HTTP的難度。

請參閱my answer to a similar question asked earlier

0

退房Jinja2的http://jinja.pocoo.org/docs/

這是一個相當簡單的模板語言,允許您創建可以在Python的有限版本在內部編程文本文件模板。

您發佈可能看起來像這樣在Jinja2的例子:

{% for date in dates: %} 
    <h2>{{ date.year }}</h2> 

    {% for month in date.year_content['months'] %} 
     <h3>{{ month.month }} - {{ month.sales }}</h3> 
    {% endfor %} 
{% endfor %} 
1

有在Python世界的問題沒有適當的解決方案,因爲混合業務邏輯和表示絕對不是一個Python的方式。 mod_python模塊提供了一個名爲PSP的舊項目,但由於我所描述的原因,它現在肯定已經死了。

因此,框架或裸WSGI應用程序是使用Python進行Web開發的兩種方式。有很多可用的互聯網模板庫:

  • Jinja2的
  • 了Mako
  • 變色龍
  • ...

您可以選擇一個最符合您的需求。

相關問題