Rumah > pembangunan bahagian belakang > Tutorial Python > Pembangunan Web dalam Python: Pyramid in Action

Pembangunan Web dalam Python: Pyramid in Action

王林
Lepaskan: 2023-06-10 11:34:54
asal
1082 orang telah melayarinya

Dengan kemunculan era Internet, aplikasi Web telah menjadi bahagian penting dalam pelbagai bidang Bagi pengaturcara, pembangunan Web juga telah menjadi salah satu kemahiran yang diperlukan. Dalam bidang pembangunan web Python, terdapat banyak rangka kerja untuk dipilih, dan rangka kerja Pyramid, sebagai salah satu rangka kerja yang lebih matang dan stabil, sedang diperhatikan dan digunakan oleh semakin ramai pembangun. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Pyramid untuk pembangunan web dan menggunakan contoh untuk memahami proses ini dengan lebih lanjut.

1. Apakah rangka kerja Pyramid

Pyramid ialah rangka kerja pembangunan Web Python yang ringan ialah untuk menyediakan rangka kerja pembangunan Web yang fleksibel dan mudah untuk menyediakan yang cekap dan Boleh Disusun. pengalaman pembangunan aplikasi web.

Sebagai rangka kerja Web, Pyramid berfungsi dengan sangat baik, ia bukan sahaja menyepadukan komponen pembangunan Web biasa, seperti enjin templat, operasi pangkalan data, dsb., tetapi juga menyediakan banyak titik sambungan tersuai dan pemalam, yang boleh. menjadi mudah Kembangkan pelbagai bahagian rangka kerja. Pada masa yang sama, Pyramid mempunyai seni bina yang fleksibel dan gandingan longgar, menjadikannya mudah untuk bekerjasama dengan rangka kerja Python dan perpustakaan pihak ketiga yang lain.

2. Penggunaan asas rangka kerja Pyramid

  1. Memasang rangka kerja Pyramid

Sebelum menggunakan rangka kerja Pyramid untuk pembangunan web, anda perlu memasang Pyramid terlebih dahulu. Anda boleh menggunakan arahan pip untuk memasang:

pip install Pyramid
Salin selepas log masuk
  1. Buat projek Piramid

Selepas pemasangan selesai, anda boleh menggunakan arahan pcreate untuk mencipta projek asas Piramid :

pcreate -s starter myproject
Salin selepas log masuk

Arahan ini akan mencipta projek Piramid bernama "projek saya" dalam direktori semasa, di mana parameter "-s" menunjukkan templat yang digunakan, yang menyediakan konfigurasi awal dan struktur fail rangka kerja Piramid.

  1. Jalankan aplikasi Pyramid

Selepas melengkapkan penciptaan projek, anda boleh menggunakan perintah pserve untuk menjalankan aplikasi Pyramid:

pserve development.ini
Salin selepas log masuk

di mana "pembangunan .ini" Untuk profil persekitaran pembangunan, arahan ini akan memulakan aplikasi Pyramid dan mendengar pada IP dan port tempatan lalai. Taip "http://localhost:8080" ke dalam penyemak imbas anda untuk mengakses halaman utama aplikasi.

3. Contoh praktikal rangka kerja Pyramid

Setelah memahami penggunaan asas rangka kerja Pyramid, mari perkenalkan cara menggunakan rangka kerja Pyramid untuk pembangunan aplikasi web, dan tunjukkan keseluruhan proses melalui contoh mudah. proses.

  1. Analisis Keperluan Contoh

Andaikan kita perlu membangunkan aplikasi web mudah yang perlu melaksanakan fungsi berikut:

  • Disediakan Halaman utama yang memaparkan maklumat asas tentang tapak web.
  • Menyediakan halaman pendaftaran di mana pengguna boleh mendaftar akaun.
  • Menyediakan halaman log masuk di mana pengguna boleh memasukkan nombor akaun dan kata laluan mereka untuk log masuk.
  • Menyediakan halaman maklumat peribadi di mana pengguna boleh mengubah suai maklumat peribadi mereka selepas log masuk.
  • Menyediakan fungsi log keluar.
  1. Contoh pelaksanaan

Pertama, kita perlu mencipta fail views.py sebagai pengawal dalam projek Pyramid dan melaksanakan Web kami dalam fail ini Fungsi aplikasi . Antaranya, kita boleh menggunakan pelbagai alatan dan perpustakaan yang disediakan oleh rangka kerja Pyramid untuk melaksanakan fungsi pengawal, seperti berikut:

from pyramid.view import view_config, view_defaults

@view_defaults(renderer='templates/base.pt')
class SiteController(object):
    def __init__(self, request):
        self.request = request

    @view_config(route_name='home', renderer='templates/index.pt')
    def home(self):
        return {
            'page_title': 'Home'
        }

    @view_config(route_name='register', renderer='templates/register.pt')
    def register(self):
        return {
            'page_title': 'Register'
        }

    @view_config(route_name='login', renderer='templates/login.pt')
    def login(self):
        return {
            'page_title': 'Login'
        }

    @view_config(route_name='profile', renderer='templates/profile.pt')
    def profile(self):
        return {
            'page_title': 'Profile'
        }

    @view_config(route_name='logout')
    def logout(self):
        headers = forget(self.request)
        return HTTPFound(location=self.request.route_url('home'), headers=headers)
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan kelas SiteController sebagai pengawal dan menggunakan penghias @view_config untuk Tentukan fungsi paparan dan nama laluannya. Pada masa yang sama, kami juga menggunakan kelas alat seperti HTTPFound dan lupa yang disediakan oleh rangka kerja Pyramid untuk melaksanakan beberapa fungsi yang diperlukan oleh aplikasi web, seperti fungsi log keluar, dsb.

Seterusnya, kita perlu mencipta fail templat untuk mengaitkan data dalam pengawal dengan pelaksanaan halaman. Dalam rangka kerja Piramid, kita boleh menggunakan enjin templat Chameleon untuk pemaparan templat. Berikut ialah contoh kod untuk fail templat:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>${page_title}</title>
</head>
<body>
    <div class="container">
        ${next.body()}
    </div>
</body>
</html>
Salin selepas log masuk
<!DOCTYPE html>
<html lang="en">
<head>
    <title>${page_title}</title>
</head>
<body>
    <h1>Home page</h1>
</body>
</html>
Salin selepas log masuk
<!DOCTYPE html>
<html lang="en">
<head>
    <title>${page_title}</title>
</head>
<body>
    <h1>Register page</h1>
</body>
</html>
Salin selepas log masuk
<!DOCTYPE html>
<html lang="en">
<head>
    <title>${page_title}</title>
</head>
<body>
    <h1>Login page</h1>
</body>
</html>
Salin selepas log masuk

Selepas selesai menulis fail templat, kita juga perlu mentakrifkan peraturan penghalaan dalam fail __init__.py dalam projek Pyramid untuk menyambungkan fungsi paparan dalam pengawal dengan Permintaan HTTP untuk menyambung. Berikut ialah contoh kod:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>${page_title}</title>
</head>
<body>
    <h1>Profile page</h1>
</body>
</html>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kelas Configurator untuk mentakrifkan peraturan penghalaan dan menentukan nama laluan dan laluan URL melalui kaedah add_route(). Selepas mentakrifkan peraturan penghalaan, kita perlu menggunakan kaedah config.scan() untuk mengimbas kelas pengawal dan mengaitkan fungsi paparan di dalamnya dengan penghalaan.

Akhir sekali, kami boleh menjalankan aplikasi Pyramid dan mengakses pelbagai halaman melalui pelayar untuk menguji sama ada fungsi program memenuhi keperluan. Anda boleh menggunakan arahan berikut untuk memulakan aplikasi:

from pyramid.config import Configurator

def main(global_config, **settings):
    config = Configurator(settings=settings)
    config.include('pyramid_chameleon')
    config.add_route('home', '/')
    config.add_route('register', '/register')
    config.add_route('login', '/login')
    config.add_route('profile', '/profile')
    config.add_route('logout', '/logout')
    config.scan()
    return config.make_wsgi_app()
Salin selepas log masuk

Pada ketika ini, kami telah menyelesaikan pembangunan aplikasi web yang mudah Melalui rangka kerja Pyramid, kami boleh melaksanakan aplikasi web dengan cepat dan cekap seni bina Dan titik sambungan yang kaya juga memudahkan kami untuk menyesuaikan dan mengembangkan aplikasi web lagi.

Atas ialah kandungan terperinci Pembangunan Web dalam Python: Pyramid in Action. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan