
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Do you speak English? Read the README in English here
Este projeto implementa uma estrutura MVC (Model-View-Controller) baseada em Flask, facilitando o desenvolvimento de aplicações modulares e organizadas.
O framework fornece:
FlaskMVC
que encapsula a inicialização do Flask.FlaskMVCBlueprint
para facilitar o registro e roteamento de controllers.Clone o repositório:
git clone https://github.com/celiovmjr/flask-mvc-core.git
cd flask-mvc-core
Crie um ambiente virtual e instale as dependências:
python -m venv venv
source venv/bin/activate # No Windows, use 'venv\\Scripts\\activate'
pip install -r requirements.txt
Instale o pacote flask-mvc-core
:
pip install flask-mvc-core
.
├── app/
│ ├── controllers/
│ ├── models/
│ ├── views/
├── public/
├── routes/
│ ├── __init__.py
│ ├── web.py
│ ├── api.py
│ ├── console.py
├── main.py
├── flask_mvc_core.py
├── flask_mvc_blueprint.py
├── README.md
flask_mvc_core.py
Define a classe FlaskMVC
, que herda de Flask
e permite um registro centralizado de blueprints.
flask_mvc_blueprint.py
Define a classe FlaskMVCBlueprint
, uma extensão de Blueprint
que facilita o roteamento e carregamento de controllers.
Definição de Rotas em Arquivos:
``:
from flask_mvc_blueprint import FlaskMVCBlueprint
web = FlaskMVCBlueprint("web")
web.get("home", "HomeController@index")
web.post("submit", "FormController@submit")
``:
from flask_mvc_blueprint import FlaskMVCBlueprint
users = FlaskMVCBlueprint("api", prefix="/api/users")
users.get("users", "UserController@index")
users.get("users/<int:id>", "UserController@show")
users.post("users", "UserController@store")
Registrando as Rotas no Servidor:
from waitress import serve
from routes.web import web
from routes.api import api
from flask_mvc_core import FlaskMVC
import logging
app = FlaskMVC(__name__, template_folder="app/views", static_folder="public")
app.register(web)
app.register(users)
if __name__ == "__main__":
logging.info("Server running on http://localhost")
serve(app, host="0.0.0.0", port=80, threads=10, _quiet=True)
Para renderizar uma view usando Jinja2, utilize o método response.render
:
from response import Response
def index(request, response: Response):
return response.render("home.html", {"title": "Página Inicial"})
A pasta padrão das views é /app/views
, e os arquivos estáticos estão localizados em /public
.
Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para mais detalhes.
Criado com ❤️ usando Flask 🚀
FAQs
Wrapper personalizado para Flask com estrutura MVC
We found that flask-mvc-core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.