|
|
@ -40,23 +40,6 @@ database tables and perform the initial migration :: |
|
|
|
flask db upgrade |
|
|
|
flask db upgrade |
|
|
|
flask run |
|
|
|
flask run |
|
|
|
|
|
|
|
|
|
|
|
Files placed inside the ``assets`` directory and its subdirectories |
|
|
|
|
|
|
|
will be copied by webpack's ``file-loader`` into the ``static/build`` |
|
|
|
|
|
|
|
directory, with hashes of their contents appended to their names. For |
|
|
|
|
|
|
|
instance, if you have the file ``assets/img/favicon.ico``, this will |
|
|
|
|
|
|
|
get copied into something like |
|
|
|
|
|
|
|
``static/build/img/favicon.fec40b1d14528bf9179da3b6b78079ad.ico``. |
|
|
|
|
|
|
|
You can then put this line into your header:: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="shortcut icon" href="{{ "{{" }}asset_url_for('img/favicon.ico') {{ "}}" }}"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
to refer to it inside your HTML page. If all of your assets are |
|
|
|
|
|
|
|
managed this way, you can ask Flask to tell web browsers that they |
|
|
|
|
|
|
|
should cache your static files forever by including the following line |
|
|
|
|
|
|
|
in your ``settings.py``:: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SEND_FILE_MAX_AGE_DEFAULT = 31556926 # one year |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Deployment |
|
|
|
Deployment |
|
|
|
---------- |
|
|
|
---------- |
|
|
@ -103,3 +86,26 @@ This will generate a new migration script. Then run :: |
|
|
|
To apply the migration. |
|
|
|
To apply the migration. |
|
|
|
|
|
|
|
|
|
|
|
For a full migration command reference, run ``flask db --help``. |
|
|
|
For a full migration command reference, run ``flask db --help``. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Asset Management |
|
|
|
|
|
|
|
---------------- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Files placed inside the ``assets`` directory and its subdirectories |
|
|
|
|
|
|
|
(excluding ``js`` and ``css``) will be copied by webpack's |
|
|
|
|
|
|
|
``file-loader`` into the ``static/build`` directory, with hashes of |
|
|
|
|
|
|
|
their contents appended to their names. For instance, if you have the |
|
|
|
|
|
|
|
file ``assets/img/favicon.ico``, this will get copied into something |
|
|
|
|
|
|
|
like |
|
|
|
|
|
|
|
``static/build/img/favicon.fec40b1d14528bf9179da3b6b78079ad.ico``. |
|
|
|
|
|
|
|
You can then put this line into your header:: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="shortcut icon" href="{{ "{{" }}asset_url_for('img/favicon.ico') {{ "}}" }}"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
to refer to it inside your HTML page. If all of your static files are |
|
|
|
|
|
|
|
managed this way, then their filenames will change whenever their |
|
|
|
|
|
|
|
contents do, and you can ask Flask to tell web browsers that they |
|
|
|
|
|
|
|
should cache all your assets forever by including the following line |
|
|
|
|
|
|
|
in your ``settings.py``:: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SEND_FILE_MAX_AGE_DEFAULT = 31556926 # one year |
|
|
|