completed: TODO-26 --> gunicorn now works

This commit is contained in:
2021-01-09 23:42:51 +11:00
parent 81394ec0c9
commit 150b808bb5
10 changed files with 11 additions and 13 deletions

6
README
View File

@@ -7,7 +7,7 @@
# flask-bootstrap -> allows me to format that wtf form with boostrap markup - yet to test if it also means I don't need to include it exlicitly in head, etc. # flask-bootstrap -> allows me to format that wtf form with boostrap markup - yet to test if it also means I don't need to include it exlicitly in head, etc.
# install needed binaries (maybe I could have done this instead of pip below too -- when I docker this shit, sort it out?) # install needed binaries (maybe I could have done this instead of pip below too -- when I docker this shit, sort it out?)
sudo apt install python3-pip python3-psycopg2 libpq-dev sudo apt install python3-pip python3-psycopg2 libpq-dev python3-flask
### LEARN: supposedly could use virtualenv instead of pip3 install --user? OR even apt to install direct? ### LEARN: supposedly could use virtualenv instead of pip3 install --user? OR even apt to install direct?
# --user sticks python libs in ~/.local/[bin|lib|share] # --user sticks python libs in ~/.local/[bin|lib|share]
@@ -16,7 +16,7 @@ pip3 install --user flask sqlalchemy flask-sqlalchemy flask-marshmallow SQLAlche
########################################################### FOR local RUN: ########################################################### FOR local RUN:
# run a DEV version by: # run a DEV version by:
python3 main.py FLASK_APP=main FLASK_ENV=development flask run --host=192.168.0.2
### to make a new PROD copy.. ### to make a new PROD copy..
sudo docker-compose -f /srv/docker/config/docker-compose.yml stop bookdb_web sudo docker-compose -f /srv/docker/config/docker-compose.yml stop bookdb_web
@@ -43,5 +43,3 @@ Maybe:
TODO-20: ORM all books load is slow TODO-20: ORM all books load is slow
- should I lazy load all books (ajax the 2nd->last pages in, or not use ORM, and do a quick db.execute()....) - should I lazy load all books (ajax the 2nd->last pages in, or not use ORM, and do a quick db.execute()....)
TODO-21: allow a way to add a book as a child of another existing book (opposite of rem_sub_book) TODO-21: allow a way to add a book as a child of another existing book (opposite of rem_sub_book)
TODO-26: gunicorn and/or more modern non-flask???

View File

@@ -1,7 +1,7 @@
from wtforms import SubmitField, StringField, HiddenField, validators, Form from wtforms import SubmitField, StringField, HiddenField, validators, Form
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from flask import request, render_template, redirect from flask import request, render_template, redirect
from __main__ import db, app, ma from main import db, app, ma
from sqlalchemy import Sequence from sqlalchemy import Sequence
from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.exc import SQLAlchemyError
from status import st, Status from status import st, Status

View File

@@ -1,7 +1,7 @@
from wtforms import SubmitField, StringField, HiddenField, SelectField, validators from wtforms import SubmitField, StringField, HiddenField, SelectField, validators
from flask import request, render_template, redirect from flask import request, render_template, redirect
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from __main__ import db, app, ma from main import db, app, ma
from sqlalchemy import Sequence from sqlalchemy import Sequence
from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.exc import SQLAlchemyError
from status import st, Status from status import st, Status

View File

@@ -1,7 +1,7 @@
from wtforms import SubmitField, StringField, HiddenField, SelectField, validators from wtforms import SubmitField, StringField, HiddenField, SelectField, validators
from flask import request, render_template, redirect from flask import request, render_template, redirect
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from __main__ import db, app, ma from main import db, app, ma
from sqlalchemy import Sequence from sqlalchemy import Sequence
from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.exc import SQLAlchemyError
from status import st, Status from status import st, Status

View File

@@ -1,7 +1,7 @@
from wtforms import SubmitField, StringField, HiddenField, SelectField, validators from wtforms import SubmitField, StringField, HiddenField, SelectField, validators
from flask import request, render_template, redirect from flask import request, render_template, redirect
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from __main__ import db, app, ma from main import db, app, ma
from sqlalchemy import func, Sequence from sqlalchemy import func, Sequence
from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.exc import SQLAlchemyError
from status import st, Status from status import st, Status

View File

@@ -2,7 +2,7 @@ from wtforms import SubmitField, StringField, HiddenField, validators, TextAreaF
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from flask import request, render_template, redirect from flask import request, render_template, redirect
from wtforms.fields.html5 import DateField from wtforms.fields.html5 import DateField
from __main__ import db, app, ma from main import db, app, ma
from datetime import date from datetime import date
from sqlalchemy import Sequence from sqlalchemy import Sequence
from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.exc import SQLAlchemyError

View File

@@ -1,7 +1,7 @@
from wtforms import SubmitField, StringField, HiddenField, SelectField, validators from wtforms import SubmitField, StringField, HiddenField, SelectField, validators
from flask import request, render_template, redirect from flask import request, render_template, redirect
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from __main__ import db, app, ma from main import db, app, ma
from sqlalchemy import func, Sequence from sqlalchemy import func, Sequence
from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.exc import SQLAlchemyError
from status import st, Status from status import st, Status

View File

@@ -1,7 +1,7 @@
from wtforms import SubmitField, StringField, HiddenField, SelectField, validators from wtforms import SubmitField, StringField, HiddenField, SelectField, validators
from flask import request, render_template, redirect from flask import request, render_template, redirect
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from __main__ import db, app, ma from main import db, app, ma
from sqlalchemy import Sequence from sqlalchemy import Sequence
from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.exc import SQLAlchemyError
from status import st, Status from status import st, Status

View File

@@ -1,7 +1,7 @@
from wtforms import SubmitField, StringField, HiddenField, SelectField, validators from wtforms import SubmitField, StringField, HiddenField, SelectField, validators
from flask import request, render_template, redirect from flask import request, render_template, redirect
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from __main__ import db, app, ma from main import db, app, ma
from sqlalchemy import Sequence from sqlalchemy import Sequence
from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.exc import SQLAlchemyError
from status import st, Status from status import st, Status

View File

@@ -2,7 +2,7 @@ from wtforms import SubmitField, StringField, HiddenField, validators, TextAreaF
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from flask import request, render_template, redirect from flask import request, render_template, redirect
from wtforms.fields.html5 import DateField from wtforms.fields.html5 import DateField
from __main__ import db, app, ma from main import db, app, ma
from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.exc import SQLAlchemyError
from status import st, Status from status import st, Status