Solucion
init.py
from flask import Flask
app = Flask(name)
app.route(‘/’)
def hola_mundo():
return ‘Hola mundo’
manager.py
from app import app
if name == ‘main’:
app.run()
Clase 1
Estructura base del proyecto
Clase 2
Creación de entorno virtual para el proyecto
Clase 3
Archivo de configuración del proyecto
Clase 4
Manejo de error 404
Clase 5
Creación de carpeta y estructura de plantillas
Clase 6
Integrando Bootstrap vía CDN
Clase 7
Descarga e integración de Bootstrap
23 comentario(s)
Solucion
init.py
from flask import Flask
app = Flask(name)
app.route(‘/’)
def hola_mundo():
return ‘Hola mundo’
manager.py
from app import app
if name == ‘main’:
app.run()
Ya no se usa flask-script:
from app import initialize_app
‘’’
app = initialize_app()
if name == “main”:
app.run(debug=True)
‘’’
Para iniciar el servidor usan : flask run
Que Team de codigofacilito, podra haber la manera de actualizar este curso, es muy prometedor la verdad pero eh tenido bastantes problemas con las versiones y compatibilidades de atemano gracias y por ahora vere la forma de seguir con el.
Ahora flask (3.x.x) ya tiene una terminal integrada
https://flask.palletsprojects.com/en/3.0.x/cli/ y no es necesario usar flask-script
Apoyen este comentario para que actualicen el curso ya que flash_Scripts esta muerto, y este profe me parece super que bueno
los que tienen un error al importar el módulo flask._compat dentro del paquete flask_script. al ejecutar python manage.py runserver, el código en manage.py es:
from app import inicializar_app
app = inicializar_app()
if name == ‘main’:
app.run(debug=True)
Para los que estan viendo en el 2023 es necesario instalar una version especifica para que funciones el flask-script
“pip install flask-script==2.0.5 “
Investigando un poco encontré una estructura para el proyecto más actual para continuar el curso, permite funcionar utilizando blueprints y posteriormente utilizar decouple para la base de datos:
proyecto-tienda/
-.env (para decouple)
-env/
-configs.py
-manage.py
-app/
–init.py
–routes/
—init.py
—IndexRoute.py
–static/
–templates/
ASÍ EL CÓDIGO:
En init.py de app:
from flask import Flask
from .routes import IndexRoute
app = Flask(name)
def init__app(configuration):
# Configuration
app.config.from_object(configuration)
# Blueprints
app.register_blueprint(IndexRoute.main, url_prefix='/')
return app
En configs.py:
from decouple import config
class Config():
pass
class DevelopmentConfig(Config):
DEBUG = True
configuration = {
‘development’: DevelopmentConfig,
‘default’: DevelopmentConfig
}
En manage.py:
from configs import configuration
from app import init__app
developmentconfigs = configuration[‘development’]
app = init__app(developmentconfigs)
if name == ‘main’:
app.run()
En IndexRoute.py:
from flask import Blueprint
main = Blueprint(‘index_blueprint’, name)
@main.route(‘/’)
def index():
return ‘Hola Mundo’
Para que funcione no agreguen o comenten la libreria flask_script (#from flask_script import Manager) y la linea #manager = Manager(app)
Luego,reemplazar if name == ‘main’:
app.run()
Para que me funcionara el Python manage.py runserver degrade la version de flask_script.
pip install flask-script==2.0.5
y puedo correr mi servidor con:
flask –app manage run
o
python manage.py runserver
Clase 16