You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

flask-mvc-core

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flask-mvc-core

Wrapper personalizado para Flask com estrutura MVC

0.1.2
pipPyPI
Maintainers
1

Flask MVC Framework

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.

📌 Visão Geral

O framework fornece:

  • Um FlaskMVC que encapsula a inicialização do Flask.
  • Um FlaskMVCBlueprint para facilitar o registro e roteamento de controllers.

🚀 Instalação

  • 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
    

📂 Estrutura do Projeto

.
├── 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

🛠 Componentes Principais

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.

🚀 Como Declarar Rotas

  • 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)
    

🎨 Renderizando Views

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.

📜 Licença

Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para mais detalhes.

Criado com ❤️ usando Flask 🚀

FAQs

Did you know?

Socket

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.

Install

Related posts