2011-04-16 133 views
2

Python代碼和HTML代碼在同一個文件中是否有Python Web框架?Python Web框架

Django使用具有特殊語言的模板來生成HTML。主塔使用一種名爲Mako的語言。

我寧願輸出HTML使用電話一樣:

echo(''' 
    HTML string 
''') 

print ''' 
    HTML string 
''' 

,而不是特殊的語言。

編輯:

我可以這樣做PHP?

echo('''<p>Something</p>''') 
if cond: 
    echo('''<p>Another thing 1</p>''') 
else: 
    echo('''<p>Another thing 2</p>''') 
+0

如果這是你想要的,你應該使用CGI。 – 2011-04-16 01:50:28

+0

@Rafe:CGI是一種通信協議,並未定義如何生成或生成內容。我通過(快速)CGI服務我的Django應用程序,他們不能/不能以這種方式提供內容。 – 2011-06-14 19:36:50

回答

2

如果你想使用print本身可能要依靠cgi。 去爲模板,你可以得到的最接近距離webpy項目Templator

的web.py模板語言,稱爲 Templetor設計帶來的 功率Python語言模板。代替 爲模板創建新的語法, 它重新使用python語法。如果您知道Python編程語言 ,您將會在家中使用 。

2

這可能是你喜歡的,但它確實違背了每一個最佳實踐。話雖如此,你可以用django來做到這一點。

from django.http import HttpResponse 
dev some_view(request): 
    return HttpResponse("This is foolish short term gain") 
0

Divmod Nevow將允許你這樣做有兩種打印或基於表達式的定製Python語言,可以讓你直接嵌入XHTML代碼到您的腳本。然而,它的測試質量基於Twisted,因此有點不合常規,因此開發它的公司的the main site已經關閉,所以我現在不能指出你的教程或任何東西。用於自己的危險。

的特殊語法(稱爲斯坦)語法看起來或多或少是這樣的:

tags.html[ 
    tags.head[ tags.title[ "Greetings!" ]], 
    tags.body[ 
     tags.h1(style="font-size: large")[ "Now I will greet you:" ], 
     tags.span[ "Hello, world" ] 
    ] 
] 
1

web2py模板引擎可以讓你用你的HTML模板純Python(見the book詳細信息)。您還可以使用web2py的HTML helpers在Python中構建HTML(這會生成一個server-side DOM,在渲染爲HTML之前可以查詢和處理它)。如果需要,可以獨立於框架使用模板引擎(相關模塊爲/gluon/template.py)。如果有什麼特別的你想要做的,請隨時詢問mailing list