Python tam olarak web için yapılmış bir genel amaçlı dilidir. Orada bazı gömülebilir PHP gibi çözümler var, ama çoğu Python web çerçeveler içinde, ayrı ayrı Python ve HTML (şablon) kodu yazmak.
: Fonksiyonu Örneğin Django web framework Önce bir view - (- bildiğiniz meşhur Model-View-Controller desen view from) yazmak
def my_view(request, movie):
return render_to_template('my_view.html',
{'movie': settings.MEDIA_URL + 'flash.swf?' + movie})
Ve URL dispatcher ile kayıt (Django, özel bir dosya var, urls.py
):
...
url(r'/flash/(?P<movie>.+)$', 'myapp.views.my_view'),
...
Daha sonra a my_view.html
template,
...
<object classid="clsid:XXXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBB" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="100%" height="100%" id="main" align="middle">
<param name="allowScriptAccess" value="all" />
<param name="flashvars" value= />
<param name="movie" value="{{ movie }}" />
<param name="loop" value="false" />
<param name="quality" value="high" />
<param name="bgcolor" value="#eeeeee" />
<embed src="{{ movie }}" loop="false" quality="high" bgcolor="#eeeeee" width="100%" height="100%" name="main" align="middle" allowScriptAccess="all" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
...
Basit değer yerine komut daha büyük bir şey yazmak zorunda olduğunda bu, böyle küçük bir görev için bir sürü iş gibi görünse de, çerçeve geri öder. Örneğin, aslında kod az 100 hatlarında basit bir blog uygulaması yazabilirsiniz. Çerçevesi otomatik (nasılsa PHP için Apache mod_rewrite gibi) ayrıştırma URL ilgilenir, karmaşık çiftleşmiş, veritabanı erişimi, form üretim, işleme ve doğrulama, kullanıcı kimlik doğrulama, hata ayıklama vb.
Farklı çerçeveler bir yeri vardır, her biri kendi iyi ve kötü yanları olan. Ben biraz zaman tanıtımları okuma ve sizin gibi birini seçerek harcama önerilir. Şahsen, Django gibi, ve web.py ile başarılı oldu. Ben de Pylons ve TurboGears hakkında iyi şeyler duydum.
Eğer neredeyse bir şey gerekmez (sizin örnekte olduğu gibi) gerçekten basit bir şey, gerekiyorsa, sadece Apache mod_python veya mod_wsgi, örneğin daha sonra kullanılabilecek küçük WSGI uygulaması, yazabilir . Bu gibi bir şey olacaktır:
def return_movie_html(environ, start_response):
request_uri = environ.get('REQUEST_URI')
movie_uri = request_uri[request_uri.rfind('/')+1:]
start_response('200 OK', [('Content-Type', 'text/html')])
return ['''
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
...
<object ...>
<param name="allowScriptAccess" value="all" />
<param name="flashvars" value= />
<param name="movie" value="%(movie)s" />
<param name="loop" value="false" />
<param name="quality" value="high" />
<param name="bgcolor" value="#eeeeee" />
<embed src="%(movie)s" loop="false" ... />
</object>
...
</html>
''' % {'movie': movie_uri}]
O Özetle: ek destek kütüphaneler olmadan, Python web programlama şekilde acı ve sıfırdan biçimlendirme çıktı ayrıştırma URI everything yapıyor gerektirir. Ancak, işi sadece ağrısız yapmak için iyi kütüphaneler ve çerçeveler bir yeri vardır, ancak bazen hoş :) daha onlar hakkında bilgi edinin, ve ben pişman olmayacağına inanıyorum.