Herramientas de usuario

Herramientas del sitio


comb:webapp0

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
comb:webapp0 [2014/07/19 13:57]
alfred [Relationships with SQLAlchemy]
comb:webapp0 [2020/05/09 09:25] (actual)
Línea 109: Línea 109:
     front = db.Column(db.Text)     front = db.Column(db.Text)
     rever = db.Column(db.Text)     rever = db.Column(db.Text)
 +</​code>​
 +=== Separate model in another file ===
 +The ''​flaskext.sqlalchemy''​ module does not have to be initialized with the app right away - you can do this instead:
 +<code python>
 +# apps.members.models
 +from flaskext.sqlalchemy import SQLAlchemy
 +
 +db = SQLAlchemy()
 +
 +class Member(db.Model):​
 +    # fields here
 +    pass
 +</​code>​
 +And then in your application setup you can call init_app:
 +<code python>
 +# apps.application.py
 +from flask import Flask
 +from apps.members.models import db
 +
 +app = Flask(__name__)
 +# later on
 +db.init_app(app)
 +</​code>​
 +
 +Example:
 +<code python>
 +# apps.shared.models
 +from flaskext.sqlalchemy import SQLAlchemy
 +
 +db = SQLAlchemy()
 +</​code>​
 +<code python>
 +# apps.members.models
 +from apps.shared.models import db
 +
 +class Member(db.Model):​
 +    # TODO: Implement this.
 +    pass
 +</​code>​
 +<code python>
 +# apps.reporting.members
 +from flask import render_template
 +from apps.members.models import Member
 +
 +def report_on_members():​
 +    # TODO: Actually use arguments
 +    members = Member.filter(1==1).all()
 +    return render_template("​report.html",​ members=members)
 +</​code>​
 +<code python>
 +# apps.reporting.routes
 +from flask import Blueprint
 +from apps.reporting.members import report_on_members
 +
 +reporting = Blueprint("​reporting",​ __name__)
 +
 +reporting.route("/​member-report",​ methods=["​GET","​POST"​])(report_on_members)
 +</​code>​
 +<code python>
 +# apps.application
 +from flask import Flask
 +from apps.shared import db
 +from apps.reporting.routes import reporting
 +
 +app = Flask(__name__)
 +db.init_app(app)
 +app.register_blueprint(reporting)
 +</​code>​
 +
 +Another example:
 +<code python>
 +app = Flask(__name__,​ static_path=''​)
 +app.config['​SQLALCHEMY_DATABASE_URI'​] = '​sqlite:///​digin.db'​
 +db.init_app(app)
 +with app.app_context():​
 +    db.create_all()
 </​code>​ </​code>​
 ===== HTML and JavaScript ===== ===== HTML and JavaScript =====
comb/webapp0.1405778261.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)