/mywebsite
/app
/modules
/articles # module "Articles"
/models # modèles du module
/static # assets du module (images, css, etc)
/templates # templates du module
articles.py # code du module
/main # module "Main"
/models # modèles du module
/static # assets du module (images, css, etc)
/templates # templates du module
main.py # code du module
/users # module "Users"
/models # modèles du module
/static # assets du module (images, css, etc)
/templates # templates du module
users.py # code du module
/static # assets de base de l'application
/bootstap
/chartjs
/css
styles.css
/img
/js
/templates # templates de base de l'application
base.html.j2
__init__.py # code principal de l'application
/venv
.env
===== Base de l'application =====
==== /app/__init__.py ====
from flask import Flask
from app.modules.articles.articles import articles
from app.modules.main.main import main
from app.modules.users.users import users
app = Flask(__name__)
app.register_blueprint(articles, url_prefix='/articles')
app.register_blueprint(main, url_prefix='/')
app.register_blueprint(users, url_prefix='/users')
==== /app/templates/base.html.j2 ====
{% block meta %}{% endblock %}
{% block css %}{% endblock %}
Test
{% block content %}{% endblock %}
{% block js %}{% endblock %}
===== Module "Main" =====
==== /app/modules/main/main.py ====
from flask import Blueprint
from flask import render_template
main = Blueprint("main", __name__,
static_folder="static",
template_folder="templates"
)
@main.route("/", methods=['GET'])
def home():
return render_template("main.home.html.j2")
==== /app/modules/main/templates/main.home.html.j2 ====
{% extends 'base.html.j2' %}
{% block content %}
Module main : home
{% endblock %}
===== Module "Articles" =====
==== /app/modules/articles/articles.py ====
from flask import Blueprint
from flask import render_template
articles = Blueprint("articles", __name__,
static_folder="static",
template_folder="templates"
)
@articles.route("/", methods=['GET'])
def home():
return render_template("articles.home.html.j2")
==== /app/modules/articles/templates/articles.home.html.j2 ====
{% extends 'base.html.j2' %}
{% block content %}
Module articles : home
{% endblock %}