Cara menggunakan Python sebagai bahasa server dari perspektif PHP


11

Saya hanya tahu pemrograman sisi server dengan PHP. Bagi saya, saya menulis sesuatu ke dalam index.phpdan menelepon http://localhost/index.phpdan melihat hasil skrip PHP. Saya telah menggunakan CakePHP dan mengerti bahwa ada sesuatu yang dapat Anda lakukan dengan penulisan ulang URL, tetapi dalam pikiran saya, ada hubungan satu ke satu antara URL dan file PHP di server.

Sekarang saya melakukan banyak hal dengan Python, tetapi hanya menggunakan baris perintah. Saya ingin menggunakan Python alih-alih PHP untuk proyek saya berikutnya. Sejauh ini, saya diberitahu tentang mod_python, bahwa saya harus menggunakan kerangka kerja seperti Pylons atau Twisted atau bahkan Django untuk mendapatkan output sama sekali. Yang lain mengatakan bahwa saya hanya perlu print()header HTTP dan kemudian skrip akan menghasilkan seperti saya digunakan dengan PHP.

Saya ingin menulis sesuatu yang pada dasarnya hanya membutuhkan daftar direktori dan membuatnya cantik, sehingga saya dapat mengakses banyak file PDF dari browser seluler. Saya tahu bagaimana melakukan ini dengan PHP, saya tahu cara membuat skrip Python yang akan menghasilkan HTML. Saya hanya tidak tahu bagaimana menjalankan skrip itu ketika saya membuka http://localhost/pdfcentral/.

Bagaimana saya harus mengkonfigurasi server saya? Ini berjalan di Ubuntu 10,04.


Ada banyak variasi yang dapat Anda ambil tetapi cara paling sederhana adalah dengan meletakkan skrip Python di cgi-bindirektori Anda sehingga server tahu untuk mengeksekusinya, dan secara opsional membuat file PHP redirect ke sana jika Anda ingin menggunakan jalur yang berbeda. Mengenai skrip Python itu sendiri, Anda dapat mengikuti prosedur ini: forrestbao.blogspot.com/2009/08/…
ionFish

Jawaban:


9

mod_pythontidak sedang dikembangkan secara aktif lagi. Sementara Apache mengatakan itu tidak berarti proyek itu mati -

Saat ini mod_python tidak dalam pengembangan aktif. Ini tidak berarti bahwa itu "mati" seperti yang diklaim beberapa orang. Ini berarti bahwa kode dan proyek cukup matang ketika sangat sedikit yang diperlukan untuk memeliharanya.

Tapi, disarankan bahwa seseorang harus menggunakan mod_wsgi sebagai gantinya. Itu jika Anda ingin membangun semuanya dari awal. Yang saya sarankan, sebaiknya jangan, kecuali Anda menggunakan ini sebagai latihan belajar.

Akan lebih baik menggunakan kerangka kerja web untuk melakukan tugas berat - menangani perutean, permintaan, dan sejenisnya

Daftar lengkap kerangka kerja web Python tersedia di sini , tetapi di sini ada beberapa yang populer -

  • Django - Ini dianggap setara dengan Python dari Ruby on Rails, dan tugas yang cukup berat, jadi tidak akan cocok untuk apa yang Anda butuhkan.
  • Labu - Ini adalah pekerjaan mikro. Artinya, kecil, tidak menghalangi Anda, dan ideal untuk proyek yang lebih kecil yang tidak memerlukan banyak baterai.
  • Piramida - Ini dibangun oleh sekelompok orang yang sama yang membangun Tiang, yang tidak mati. Itu adalah suatu tempat di antara Flask dan Django - dapat digunakan sebagai pengganti.
  • Botol - Ini adalah pekerjaan mikro lain, dan bahkan lebih minimal daripada Labu. Ini hanya satu file dan tidak memiliki dependensi (jika Anda menggunakan mesin templating bawaan) selain perpustakaan standar, jadi akan sangat cocok untuk apa yang Anda inginkan.
  • Web.py - Setelah Reddit diberdayakan (yang ditulis ulang dengan alat baru setelah diakuisisi).
  • webapp2 - Ini adalah kerangka kerja standar untuk Google App Engine (meskipun Anda dapat menggunakan kerangka kerja lain di sana).

Dari jumlah ini, saya akan merekomendasikan Flask, karena saya sudah menggunakannya dan tidak punya keluhan. Ini juga memiliki banyak ekstensi yang akan membuat hidup jauh lebih mudah jika Anda ingin lebih banyak fitur di situs Anda.

Juga, Anda akan memerlukan mesin template - untuk merakit html Anda. Jinja2 , dibangun oleh orang yang sama yang membuat termos, dan cukup banyak digunakan. Tetapi berasal dari phppengembangan web, Anda mungkin menemukan menggunakan Mako lebih alami, yang cukup populer juga.

Berikut ini faq yang lebih komprehensif tentang pengembangan Web Python - Python FAQ: Webdev .


1
Saya punya proyek Flask kecil sekarang berjalan dengan FastCGI und lighttpd pada mesin uji, itu harus berjalan di server juga. Terima kasih banyak!
Martin Ueding

1

Saya menemukan pertanyaan yang sedikit membingungkan dan Jika saya benar saya berasumsi bahwa tujuan utama Anda adalah untuk menyajikan file ke ponsel Anda menggunakan gaya yang cantik?

Jika itu benar maka Anda tidak perlu pergi melalui begitu banyak loop untuk mengatur sesuatu.

Apache2 memungkinkan Anda untuk mengedit direktori daftar file utama sehingga Anda bisa bergaya cukup banyak yang Anda inginkan.

Ada juga banyak tema utama yang siap tersedia online hanya mencari Google untuk Theme untuk Daftar Direktori Apache2, membuatnya responsif tidak akan sulit juga.

Berikut ini beberapa informasi cara mengubah tampilan default Apache

Dan inilah beberapa templat siap pakai untuk dilihat, masih banyak lagi ....

Gaya Repos

Recurser

Indeks


Ini tampaknya menyelesaikan masalah awal dengan cukup baik. Saya pikir saya bisa menggunakan ini sebagai proyek pertama untuk pindah dari PHP ke Python. Jika proyek Python terhenti, saya akan lihat ini. Terima kasih!
Martin Ueding

Terima kasih;)
Simon Hayter
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.