Pyramid

Pyramid to webowy framework do Pythona na licencji BSD. Na serwerach MyDevil.net możliwe jest uruchamianie stron opartych o ten framework dzięki zastosowaniu technologii Phusion Passenger.

Wstępna konfiguracja

Do uruchomienia strony napisanej w Pyramid należy pierw zadbać o prawidłową konfigurację środowiska oraz domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:

  • Dodano środowisko virtualenv dla pythona 2.7 i zainstalowano pyramid - pip install pyramid.
  • Domena jest prawidłowo dodana i skonfigurowana w naszym systemie DNS.
  • Została dodana Strona WWW typu Python oraz ścieżką do pliku binarnego >python wewnątrz wcześniej skonfigurowanego środowiska.

Projekt Pyramid

Głównym katalogiem projektu Pyramid musi być folder /usr/home/login/domains/domena/public_python. Należy również usunąć plik index.html poleceniem rm /usr/home/login/domains/domena/public_python/static/index.html.

Konfiguracja Phusion Passenger

Ostatnim krokiem jest konfiguracja modułu Phusion Passenger, który jest odpowiedzialny za uruchomienie aplikacji Pyramid. Należy w katalogu projektu Pyramid(/usr/home/login/domains/domena/public_python) utworzyć plik passenger_wsgi.py i umieścić w nim następującą zawartość, modyfikując linijkę importu:

import sys, os
sys.path.append(os.getcwd())
from aplikacja import app as application

Przykładowy plik aplikacja.py (do umieszczenia w katalogu witryny w celu przetestowania działania Pyramid):

from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response

def hello_world(request):
    return Response('Hello %(name)s!' % request.matchdict)

config = Configurator()
config.add_route('hello', '/hello/{name}')
config.add_view(hello_world, route_name='hello')
app = config.make_wsgi_app()

if __name__ == '__main__':
    server = make_server('0.0.0.0', 8080, app)
    server.serve_forever()

Odnośniki Zewnętrzne