Plugin to use OO to create routes in bottle.
Project description
Plugin que implementa criação de rotas com orientação a objetos.
[!NOTE] Este módulo não é exatamente um Plugin do bottle pois não é implementado como um, trata-se apenas de um "cheatzinho" que criei para simplificar um projeto meu. Para conferir como criar um plugin com bottle siga o link: https://bottlepy.org/docs/dev/plugindev.html
Plugin para micro-framework bottle para simplificar a criação de rotas utilizando Orientação a Objetos.
Para utilizar este plugin é necessário instalar o bottle. Pode ser o passo a passo da documentação: https://bottlepy.org/docs/0.12/tutorial.html#installation ou apenas com o comando abaixo:
pip install bottle
Depois pode instalar o plugin com o comando:
pip install BottleRoute
Esse plugin vai trazer o arquivo RouteExt para o seu site-package
então você poderá utilizar da seguinte forma:
from bottle import Bottle
from RouteExt import set_controller_handler, Controllers
class TesteController(Controllers):
url = "/"
def get(self):
return f"A url é: {self.url}"
app = set_controller_handler(Bottle)
app.register(obj=TesteController())
app.run()
Desta forma ele vai adicionar o método register
a abstração do Bottle e vai poder ser invocado passando um objeto subclasse da classe Controller
que implemente os verbos HTTP para URL. No exemplo acima são criados os verbos GET, POST, PUT e DELETE
para a rota /
, como não foi definido na classe TesteController()
os métodos POST, PUT, DELETE
, caso fossem requisitados retornáriam um erro informando Method not implemented
.
Também é possível utilizar rotas dinamicas:
from bottle import Bottle
from RouteExt import set_controller_handler, Controllers
class TesteController(Controllers):
url = "/<nome>"
def get(self, nome):
return f"O parametro na rota é:: {nome}"
app = set_controller_handler(Bottle)
app.register(obj=TesteController())
app.run()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.