A flask template with Bootstrap 4, asset bundling+minification with webpack, starter templates, and registration/authentication.

Overview

cookiecutter-flask

A Flask template for cookiecutter. (Supports Python ≥ 3.6)

Build Status CodeQL CalVer

See this repo for an example project generated from the most recent version of the template.

Use it now

Docker (This is the preferred method for creating a new project)

# Basic usage (You will be prompted to provide basic information about your application)
$ ./cookiecutter-docker.sh
    full_name [Steven Loria]:

# Additional arguments are available
$ ./cookiecutter-docker.sh --help
    Usage: ./cookiecutter-docker.sh [OPTIONS]

Options:
    -b, --build    Build Docker image before running cookiecutter
    -t, --template Specify custom cookiecutter template via a URI to a git repo
                    e.g. https://github.com/cookiecutter-flask/cookiecutter-flask.git
                    Defaults to template in current working directory
    -h, --help     Show this message and exit

Standard

If using standard instructions, Python ≥ 3.6 is required. A virtual environment is recommended (like virtualenv).

pip3 install cookiecutter
cookiecutter https://github.com/cookiecutter-flask/cookiecutter-flask.git

You will be asked about your basic info (name, project name, app name, etc.). This info will be used in your new project.

Configure and Run

After you have generated the project code, a few more steps must be taken before your new app will run. The README of the generated project shows you how to configure and run the application. (You can see the template README here).

Features

  • Bootstrap 4 and Font Awesome 4 with starter templates
  • Flask-SQLAlchemy with basic User model
  • Easy database migrations with Flask-Migrate
  • Configuration in environment variables, as per The Twelve-Factor App
  • Flask-WTForms with login and registration forms
  • Flask-Login for authentication
  • Flask-Bcrypt for password hashing
  • Procfile for deploying to a PaaS (e.g. Heroku)
  • pytest and Factory-Boy for testing (example tests included)
  • Flask's Click CLI configured with simple commands
  • CSS and JS minification using webpack
  • npm support for frontend package management
  • Caching using Flask-Cache
  • Useful debug toolbar
  • Utilizes best practices: Blueprints and Application Factory patterns

Screenshots

Home page

Home page

Inspiration

License

MIT licensed.

Changelog

Unreleased

  • Update all node dependencies to latest versions
  • Switch to using Github Actions for template CI
  • Remove support for Node 10 as a Cookiecutter option
  • Refactored Docker image to use multistage builds more efficiently
  • Projects generated with the template use Github actions for CI
  • Upgrade Webpack to 5.x

18.0.0 (09/09/2018)

  • Use CalVer (YY.MINOR.MICRO).
  • Upgrade to Bootstrap 4. Thanks @adawalli and @Hiyorim.
  • Use environment variables for configuration.
  • Add support for Pipenv.
  • Upgrade Python and Node dependencies.

0.13.0 (06/25/2017)

  • Use webpack for building front-end assets. Front-end dependencies are installed with NPM. Remove Flask-Assets and bower.json. Thanks @wroberts.

0.12.0 (11/06/2016)

  • Update Python dependencies.

0.11.1 (11/06/2016)

  • Correctly pass first parameter to Flask according to the 0.11 docs. Thanks @aliavni.
  • Remove setuptools and wheel as dependencies to fix deployment on Heroku. Thanks @Cabalist.
  • Make User.password a Binary field for compatibility with new versions of bcrypt. Thanks again @Cabalist.

0.11.0 (09/10/2016)

  • Use the FLASK_DEBUG system environment variable, instead of MYFLASKAPP_ENV, to control different configs for development and production environments

0.10.1 (08/28/2016)

  • Fix invoke test command.

0.10.0 (08/28/2016)

  • Update to Flask 0.11.
  • Use Click instead of Flask-Script for CLI commands.

0.9.0 (03/06/2016)

  • Update stale requirements.
  • Add CSRF protection.
  • Run lint command on Travis builds.
  • Test against Python 3.5.

0.8.0 (11/09/2015)

  • Update stale requirements.
  • Add lint, clean, and urls management commands.
  • Add isort.

Thanks @andreoliw for these contributions.

0.7.0 (04/14/2015)

  • Update extension import style to flask_* as per mitsuhiko/flask#1135.
  • Update stale requirements (Werkzeug, Flask-WTF, WTForms, Flask-Bcrypt, Flask-DebugToolbar, Flask-Migrate, Bootstrap, jQuery). Thanks @bsmithgall for notifying me of the critical patch to Flask-Migrate.

0.6.0 (12/01/2014)

  • Test the cookiecutter on Travis. Thanks @joshfriend.
  • Update stale requirements (Flask-WTF, Flask-Migrate, Flask-DebugToolbar)

0.5.0 (09/29/2014)

  • Fix .travis.yml.
  • Update stale requirements (Flask-WTF, WTForms, Flask-SQLAlchemy, jquery, Bootstrap)

0.4.3 (07/27/2014)

  • Add BaseFactory class.
  • Add compat.py module.
  • Tests pass on Python 3.

0.4.2 (07/27/2014)

  • Update factories to factory-boy >= 2.4.0 syntax.
  • Update stale requirements.

0.4.1 (06/07/2014)

  • Update stale requirements (Werkzeug 0.9.6, WTForms 2.0)
  • Fix unmatched div tag in home.html (thanks @level09)

0.4.0 (04/19/2014)

  • Add ReferenceCol for less verbose foreign key columns.
  • Add SurrogatePK mixin for adding integer primary key to a model.
  • Add base Model class that has CRUD convenience methods.
  • Fix setting BCrypt encryption complexity. Tests are much faster.
  • Add Role model to show ReferenceCol usage.
  • Switch to pytest.
  • Upgrade all out-of-date requirements.
  • More test examples.
  • Remove "year" from cookiecutter.json (just change LICENSE if necessary).

0.3.2 (02/26/2014)

  • Fix static assets.

0.3.1 (02/20/2014)

  • Update default year in cookiecutter.json. Thanks @Omeryl
  • Correct testing of redirects in webtests. Thanks @Widdershin
  • Fix POST action in nav form. Thanks @Widdershin.
  • Update Bootstrap (3.1.1) and jQuery (2.1.0)
  • Optional support for bower.
  • Minified assets aren't used in dev environment.

0.3.0 (12/08/2013)

  • More modular organization: each blueprint contains its own view, models, and forms in a directory. There is still a single directory for templates and static assets.
  • Use Flask-Bcrypt for password hashing.
  • Flask-Login for authentication.
  • Simple test setup. Just create a subclass of DbTestCase.
  • Flask-Testing support.
  • Use Factory-Boy for test factories.
  • Use WebTest for functional testing.
  • Add Flask-Debugtoolbar.
  • Migrations using Flask-Migrate.
  • Caching using Flask-Cache.
  • Add error page templates (404, 401, 500)
  • Add Font Awesome 4.0.3 for icons.

0.2.0 (09/21/2013)

  • Add manage.py script
  • Add Flask-Assets for CSS and JS bundling+minification
  • Use different configs for development and production environments, controlled by the MYFLASKAPP_ENV system environment variable
  • Use Blueprints and application factory pattern. The simple branch does not use these.

0.1.0 (08/20/2013)

  • First iteration
  • Bootstrap 3 final
  • Working User model and registration
Comments
  • (non-Docker) .env file parsing SEND_FILE_MAX_AGE_DEFAULT fails due to comment

    (non-Docker) .env file parsing SEND_FILE_MAX_AGE_DEFAULT fails due to comment

    When using the non-Docker version of this cookiecutter, the initial "npm start" inside the pipenv brings up the server, but no pages will load as the .env file fails to parse properly. i don't know if this also affects the Dockerised version.

    The error message is environs.EnvValidationError: Environment variable "SEND_FILE_MAX_AGE_DEFAULT" invalid: Not a valid integer.

    Using the interactive debugger shows that this is because the environs library is attempting to parse the whole line from the .env file, without omitting the comment. This causes the integer parse to fail, obviously!

    cookiecutter error2

    Simplest quick fix would be to move the comment to the line above, so I'll fire in a PR to do this shortly, but longer term probably a bug needs to be registered against the environs library.

    bug 
    opened by mbennett-uoe 17
  • Steps to deploy to Heroku

    Steps to deploy to Heroku

    Hi!

    I'd like to know which steps you guys take to deploy a project using cookiecutter-flask to Heroku. I had to manually install dev dependencies so npm run build could be executed which sounded kind of weird to me..

    Any help/guidance is appreciated!

    Thank you!

    help wanted 
    opened by gcrsaldanha 12
  • NoAppException: The file/path provided (autoapp) does not appear to exist.

    NoAppException: The file/path provided (autoapp) does not appear to exist.

    I've followed the README for this project but flask.cli keeps throwing me this exception when I try to run flask.

    NoAppException: The file/path provided (autoapp) does not appear to exist.  Please 
    verify the path is correct.  If app is not on PYTHONPATH, ensure the extension is .py
    

    StackOverflow seems to think it's an issue with exporting FLASK_APP=autoapp.py vs FLASK_APP=autoapp. I've tried them both in addition to using the absolute path for the above two variations.

    Any thoughts how I can fix this?

    opened by rsivapr 12
  • Update boostrap to 4.1.1

    Update boostrap to 4.1.1

    Updating boostrap required pulling in popper.js (which required adding sync-exec as a dev dependency). Some of the templates were updated based on changes from bootstrap.

    Signed-off-by: Adam Wallis [email protected]

    help wanted 
    opened by adawalli 11
  • Docker Support

    Docker Support

    I have a working docker configuration lying around using docker-compose for dev/prod. If there's any interest in that, I'd wrap it up and submit a pull request.

    help wanted 
    opened by jayfk 11
  • Is there a step by step guide?

    Is there a step by step guide?

    I was wondering if there is a step by step guide on how to get this template online. It seems that installing the requirements alone is not enough. I am a newbie and this is my first attempt to use cookiecutter.

    opened by bsamadi 10
  • Please help with initial installation

    Please help with initial installation

    I performed the following steps:

    $ pip install cookiecutter
    $ cookiecutter https://github.com/sloria/cookiecutter-flask.git
    full_name [Steven Loria]: Charles Ross
    email [[email protected]]: [email protected]
    github_username [sloria]: chivalry
    project_name [My Flask App]: 
    app_name [myflaskapp]: 
    project_short_description [A flasky app.]: 
    Select use_pipenv:
    1 - no
    2 - yes
    Choose from 1, 2 (1, 2) [1]:
    $ cd myflaskapp/
    $ python -m venv venv
    $ source venv/bin/activate
    $ pip install -r requirements.txt
    $ export FLASK_APP=autoapp.py
    $ export FLASK_ENV=development
    $ mv .env.example .env
    $ flask run
     * Serving Flask app "autoapp.py" (lazy loading)
     * Environment: development
     * Debug mode: on
     * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
     * Restarting with stat
     * Debugger is active!
     * Debugger PIN: 251-726-117
    

    I load the address in a browser and get the following:

    127.0.0.1 - - [13/Apr/2019 06:00:45] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 -
    127.0.0.1 - - [13/Apr/2019 06:00:45] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
    127.0.0.1 - - [13/Apr/2019 06:00:45] "GET /?__debugger__=yes&cmd=resource&f=ubuntu.ttf HTTP/1.1" 200 -
    127.0.0.1 - - [13/Apr/2019 06:00:45] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 -
    127.0.0.1 - - [13/Apr/2019 06:00:45] "GET /?__debugger__=yes&cmd=resource&f=jquery.js HTTP/1.1" 200 -
    127.0.0.1 - - [13/Apr/2019 06:00:45] "GET / HTTP/1.1" 500 -
    Traceback (most recent call last):
      File "/Users/chuck/Projects/education/flask/myflaskapp/venv/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
        raise value
      File "/Users/chuck/Projects/education/flask/myflaskapp/autoapp.py", line 5, in <module>
        app = create_app()
      File "/Users/chuck/Projects/education/flask/myflaskapp/myflaskapp/app.py", line 16, in create_app
        register_extensions(app)
      File "/Users/chuck/Projects/education/flask/myflaskapp/myflaskapp/app.py", line 33, in register_extensions
        webpack.init_app(app)
      File "/Users/chuck/Projects/education/flask/myflaskapp/venv/lib/python3.7/site-packages/flask_webpack/__init__.py", line 27, in init_app
        self._set_asset_paths(app)
      File "/Users/chuck/Projects/education/flask/myflaskapp/venv/lib/python3.7/site-packages/flask_webpack/__init__.py", line 69, in _set_asset_paths
        "Flask-Webpack requires 'WEBPACK_MANIFEST_PATH' to be set and "
    RuntimeError: Flask-Webpack requires 'WEBPACK_MANIFEST_PATH' to be set and it must point to a valid json file.
    

    I took a look at the settings.py file and tried to manually set the WEBPACK_MANIFEST_PATH I found there, but that didn't change anything.

    What am I missing?

    opened by chivalry 9
  • Error 'WEBPACK_MANIFEST_PATH'

    Error 'WEBPACK_MANIFEST_PATH'

    There is a issue for the update 0.13.0 (06/25/2017).

    RuntimeError: Flask-Webpack requires 'WEBPACK_MANIFEST_PATH' to be set and it must point to a valid json file.

    opened by koorukuroo 9
  • Image assets not being digested

    Image assets not being digested

    I used the exact command from the readme: cookiecutter https://github.com/cookiecutter-flask/cookiecutter-flask.git

    cd app_name
    pipenv install --dev
    pipenv shell
    npm install
    npm start
    

    I put an image into assets/img/my.png and tried to load it:

    <img rel="shortcut icon" href="{{ static_url_for('static', filename='build/img/my.png') }}">
    

    I then expected the server to return the digested static_url_for (e.g. /static/build/2430afhpsqt480y.png), but instead just receive <img rel="shortcut icon" href="/static/build/img/my.png"> despite the fact that this template doesn't even put the images into an img subfolder for static/build. All img assets return an invalid url, even though js and css assets work correctly. I have tried both with and without img prefix.

    there is also never a manifest.json generated to check what went wrong

    Project configuration:

    | Option | Values | |------------------------------------------|-----------------------------------------------------------------------| | use_pipenv |

    • - [X] yes
    • - [ ] no
    | | python_version |
    • - [X] 3.8
    • - [ ] 3.7
    • - [ ] 3.6
    | | node_version |
    • - [X] 12
    • - [ ] 10
    | | use_heroku |
    • - [X] yes
    • - [ ] no
    | | Are you using Docker to run the app? |
    • - [ ] yes
    • - [X] no
    |

    bug 
    opened by SampsonCrowley 8
  • Password saving fails due to Binary column type

    Password saving fails due to Binary column type

    Maybe some compatibility stuff is needed here, because this commit 570d5bc587cc029878d18dd74e0044e71104ce91 made impossible to save a password on PostgreSQL 9.5 (Python 3.6). Getting TypeError: can't escape str to binary. Or at least a comment there to lower the debugging time. What do you think?

    opened by Kulv3r 8
  • template app_name folder not getting renamed?

    template app_name folder not getting renamed?

    I am attempting to use the docker method, using the default configuration. I'm pretty sure there is no problem mounting the current directory.

    There must be some sort of issue with python converting the folder name to the variable {{cookiecutter.app_name}} because if i set app_name to {{cookiecutter.app_name}}, it says it already exists, anything else it says it doesn't exist.

    I have no idea what I could possibly be doing wrong...

    Traceback (most recent call last):
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/hooks.py", line 83, in run_script
        proc = subprocess.Popen(script_command, shell=run_thru_shell, cwd=cwd)
      File "/usr/local/lib/python3.9/subprocess.py", line 947, in __init__
        self._execute_child(args, executable, preexec_fn, close_fds,
      File "/usr/local/lib/python3.9/subprocess.py", line 1819, in _execute_child
        raise child_exception_type(errno_num, err_msg, err_filename)
    FileNotFoundError: [Errno 2] No such file or directory: '/build/my_flask_app'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/generate.py", line 237, in _run_hook_from_repo_dir
        run_hook(hook_name, project_dir, context)
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/hooks.py", line 131, in run_hook
        run_script_with_context(script, project_dir, context)
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/hooks.py", line 115, in run_script_with_context
        run_script(temp.name, cwd)
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/hooks.py", line 94, in run_script
        raise FailedHookException('Hook script failed (error: {})'.format(os_error))
    cookiecutter.exceptions.FailedHookException: Hook script failed (error: [Errno 2] No such file or directory: '/build/my_flask_app')
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/local/lib/python3.9/shutil.py", line 707, in rmtree
        orig_st = os.lstat(path)
    FileNotFoundError: [Errno 2] No such file or directory: '/build/my_flask_app'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/__main__.py", line 9, in <module>
        main(prog_name="cookiecutter")
      File "/usr/local/lib/python3.9/site-packages/click/core.py", line 829, in __call__
        return self.main(*args, **kwargs)
      File "/usr/local/lib/python3.9/site-packages/click/core.py", line 782, in main
        rv = self.invoke(ctx)
      File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/usr/local/lib/python3.9/site-packages/click/core.py", line 610, in invoke
        return callback(*args, **kwargs)
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/cli.py", line 140, in main
        cookiecutter(
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/main.py", line 101, in cookiecutter
        result = generate_files(
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/generate.py", line 293, in generate_files
        _run_hook_from_repo_dir(
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/generate.py", line 240, in _run_hook_from_repo_dir
        rmtree(project_dir)
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/utils.py", line 34, in rmtree
        shutil.rmtree(path, onerror=force_delete)
      File "/usr/local/lib/python3.9/shutil.py", line 709, in rmtree
        onerror(os.lstat, path, sys.exc_info())
      File "/usr/local/lib/python3.9/site-packages/cookiecutter/utils.py", line 25, in force_delete
        os.chmod(path, stat.S_IWRITE)
    FileNotFoundError: [Errno 2] No such file or directory: '/build/my_flask_app'
    
    bug 
    opened by uBadRequest 7
  • pytest error

    pytest error

    I just create the startapp, and install the requirements/dev.txt, requirements/prod.txt, then run pytest:

    (.venv) PS D:\myapptest> pytest
    INTERNALERROR> Traceback (most recent call last):
    INTERNALERROR>     config._do_configure()
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\_pytest\config\__init__.py", line 996, in _do_configure
    INTERNALERROR>     self.hook.pytest_configure.call_historic(kwargs=dict(config=self))
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\pluggy\_hooks.py", line 277, in call_historic
    INTERNALERROR>     res = self._hookexec(self.name, self.get_hookimpls(), kwargs, False)
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\pluggy\_manager.py", line 80, in _hookexec
    INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\pluggy\_callers.py", line 60, in _multicall
    INTERNALERROR>     return outcome.get_result()
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\pluggy\_result.py", line 60, in get_result
    INTERNALERROR>     raise ex[1].with_traceback(ex[2])
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\pluggy\_callers.py", line 39, in _multicall
    INTERNALERROR>     res = hook_impl.function(*args)
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\_pytest\debugging.py", line 68, in pytest_configure
    INTERNALERROR>     import pdb
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\_pdbpp_path_hack\pdb.py", line 5, in <module>
    INTERNALERROR>     exec(compile(f.read(), pdb_path, 'exec'))
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\pdb.py", line 23, in <module>
    INTERNALERROR>     from fancycompleter import Completer, ConfigurableClass, Color
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\fancycompleter.py", line 7, in <module>
    INTERNALERROR>     import rlcompleter
    INTERNALERROR>   File "C:\Users\hejl\AppData\Local\Programs\Python\Python310\lib\rlcompleter.py", line 210, in <module>
    INTERNALERROR>     import readline
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\readline.py", line 34, in <module>
    INTERNALERROR>     rl = Readline()
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\pyreadline\rlmain.py", line 422, in __init__
    INTERNALERROR>     BaseReadline.__init__(self)
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\pyreadline\rlmain.py", line 62, in __init__
    INTERNALERROR>     mode.init_editing_mode(None)
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\pyreadline\modes\emacs.py", line 633, in init_editing_mode
    INTERNALERROR>     self._bind_key('space',       self.self_insert)
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\pyreadline\modes\basemode.py", line 162, in _bind_key
    INTERNALERROR>     if not callable(func):
    INTERNALERROR>   File "D:\myapptest\.venv\lib\site-packages\pyreadline\py3k_compat.py", line 8, in callable
    INTERNALERROR>     return isinstance(x, collections.Callable)
    INTERNALERROR> AttributeError: module 'collections' has no attribute 'Callable'
    

    I fix it by modify the .venv\lib\site-packages\pyreadline\py3k_compat.py file, but it seems not a good idea.

    Project configuration:

    | Option | Values | | ------------------------------------ | ------------------------------------------------------------------------------------------ | | use_pipenv |

    • - [ ] yes
    • - [x] no
    | | python_version |
    • - [x] 3.10
    • - [ ] 3.9
    • - [ ] 3.8
    • - [ ] 3.7
    | | node_version |
    • - [x] 16
    • - [ ] 14
    • - [ ] 12
    | | use_heroku |
    • - [ ] yes
    • - [x] no
    | | Are you using Docker to run the app? |
    • - [ ] yes
    • - [x] no
    |

    bug 
    opened by hjlarry 2
  • `docker-compose up flask-dev` exits with code 243

    `docker-compose up flask-dev` exits with code 243

    Project configuration:

    | Option | Values | | ------------------------------------ | ------------------------------------------------------------------------------------------ | | use_pipenv |

    • - [x] yes
    • - [ ] no
    | | python_version |
    • - [ ] 3.10
    • - [ ] 3.9
    • - [x] 3.8
    • - [ ] 3.7
    | | node_version |
    • - [x] 16
    • - [ ] 14
    • - [ ] 12
    | | use_heroku |
    • - [ ] yes
    • - [x] no
    | | Are you using Docker to run the app? |
    • - [x] yes
    • - [ ] no
    |

    I'm able to run the local version of the app, but running the docker version has mixed results. The dev version fails with a 243 exit code (see below), and while the prod version starts successfully, the css/js bundles aren't found.

    Host system is CentOS 7.9.2009 using Docker 20.10.17.

    $ docker-compose up flask-dev
    [+] Running 0/1
     ⠿ flask-dev Error                                                                                                                                     0.5s
    [+] Building 74.3s (24/24) FINISHED
     => [internal] load build definition from Dockerfile                                                                                                   0.1s
     => => transferring dockerfile: 1.77kB                                                                                                                 0.0s
     => [internal] load .dockerignore                                                                                                                      0.1s
     => => transferring context: 2B                                                                                                                        0.0s
     => [internal] load metadata for docker.io/library/node:16-buster-slim                                                                                 0.2s
     => [internal] load metadata for docker.io/library/python:3.8-slim-buster                                                                              0.2s
     => [builder  1/16] FROM docker.io/library/python:3.8-slim-buster@sha256:5f22b4140ef49429890f3ea95abf87f6baf96cfb44ba674c408fb7310d10f39d              0.0s
     => [internal] load build context                                                                                                                      0.1s
     => => transferring context: 95.27kB                                                                                                                   0.0s
     => [node 1/1] FROM docker.io/library/node:16-buster-slim@sha256:67ac68a9452c8e174d508babe0e99e0580a6c73ba8b1998cf2b5c80cdda38217                      0.0s
     => CACHED [builder  2/16] WORKDIR /app                                                                                                                0.0s
     => CACHED [builder  3/16] COPY --from=node /usr/local/bin/ /usr/local/bin/                                                                            0.0s
     => CACHED [builder  4/16] COPY --from=node /usr/lib/ /usr/lib/                                                                                        0.0s
     => CACHED [builder  5/16] RUN true                                                                                                                    0.0s
     => CACHED [builder  6/16] COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules                                                    0.0s
     => CACHED [builder  7/16] COPY [Pipfile, shell_scripts/auto_pipenv.sh, ./]                                                                            0.0s
     => CACHED [builder  8/16] RUN pip install --no-cache pipenv                                                                                           0.0s
     => CACHED [builder  9/16] RUN pipenv install                                                                                                          0.0s
     => [builder 10/16] COPY package.json ./                                                                                                               0.2s
     => [builder 11/16] RUN npm install                                                                                                                   33.5s
     => [builder 12/16] COPY webpack.config.js autoapp.py ./                                                                                               0.2s
     => [builder 13/16] COPY test_app test_app                                                                                                             0.3s
     => [builder 14/16] COPY assets assets                                                                                                                 0.1s
     => [builder 15/16] COPY .env.example .env                                                                                                             0.2s
     => [builder 16/16] RUN npm run-script build                                                                                                           8.8s
     => [development 1/1] RUN pipenv install --dev                                                                                                        24.5s
     => exporting to image                                                                                                                                 5.3s
     => => exporting layers                                                                                                                                5.2s
     => => writing image sha256:7fcb3627311944e5a82b70360d14ee37ee5d468cf382c7d99bb36e6f2586e318                                                           0.0s
     => => naming to docker.io/library/test_app-development                                                                                                0.0s
    
    Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
    [+] Running 1/1
     ⠿ Container test_app-flask-dev-1  Created                                                                                                             0.3s
    Attaching to test_app-flask-dev-1
    test_app-flask-dev-1  | Loading .env environment variables...
    test_app-flask-dev-1  |
    test_app-flask-dev-1  | > [email protected] start
    test_app-flask-dev-1  | > run-script-os
    test_app-flask-dev-1  |
    test_app-flask-dev-1  |
    test_app-flask-dev-1 exited with code 243
    
    bug stale 
    opened by grigutis 5
  • Add email address verification and forgotten password system

    Add email address verification and forgotten password system

    On signup, it will send an email verification link to that user's email. They can click the link to confirm their email address.

    On the Login page, there will be a new link to a forgotten password page.

    enhancement stale 
    opened by HeliumMonitor 4
Owner
null
A Flask app template with integrated SQLAlchemy, authentication, and Bootstrap frontend

Flask-Bootstrap Flask-Bootstrap is an Flask app template for users to clone and customize as desired, as opposed to a Flask extension that you can ins

Eric S. Bullington 204 Dec 26, 2022
Flask starter template for better structuring.

Flask Starter app Flask starter template for better structuring. use the starter plate step 1 : cloning this repo through git clone the repo git clone

Tirtharaj Sinha 1 Jul 26, 2022
Flask Project Template A full feature Flask project template.

Flask Project Template A full feature Flask project template. See also Python-Project-Template for a lean, low dependency Python app. HOW TO USE THIS

Bruno Rocha 96 Dec 23, 2022
Flask-template - A simple template for make an flask api

flask-template By GaGoU :3 a simple template for make an flask api notes: you ca

GaGoU 2 Feb 17, 2022
Burp-UI is a web-ui for burp backup written in python with Flask and jQuery/Bootstrap

Burp-UI Contents Introduction Screenshots Demo What's that? Who are you? Documentation FAQ Community Notes See also Licenses Thanks Introduction Scree

Benjamin 84 Dec 20, 2022
Formatting of dates and times in Flask templates using moment.js.

Flask-Moment This extension enhances Jinja2 templates with formatting of dates and times using moment.js. Quick Start Step 1: Initialize the extension

Miguel Grinberg 358 Nov 28, 2022
Formatting of dates and times in Flask templates using moment.js.

Flask-Moment This extension enhances Jinja2 templates with formatting of dates and times using moment.js. Quick Start Step 1: Initialize the extension

Miguel Grinberg 318 Feb 17, 2021
flask-apispec MIT flask-apispec (🥉24 · ⭐ 520) - Build and document REST APIs with Flask and apispec. MIT

flask-apispec flask-apispec is a lightweight tool for building REST APIs in Flask. flask-apispec uses webargs for request parsing, marshmallow for res

Joshua Carp 617 Dec 30, 2022
Beautiful Interactive tables in your Flask templates.

flask-tables Beautiful interactive tables in your Flask templates Resources Video demonstration: Go to YouTube video. Learn how to use this code: Go t

Miguel Grinberg 209 Jan 5, 2023
A template themes for phyton flask website

Flask Phyton Web template A template themes for phyton flask website

Mesin Kasir 2 Nov 29, 2021
A template for Flask APIs.

FlaskAPITempate A template for a Flask API. Why tho? I just wanted an easy way to create a Flask API. How to setup First, use the template. You can do

TechStudent10 1 Dec 28, 2021
Boilerplate template formwork for a Python Flask application with Mysql,Build dynamic websites rapidly.

Overview English | 简体中文 How to Build dynamic web rapidly? We choose Formwork-Flask. Formwork is a highly packaged Flask Demo. It's intergrates various

aswallz 81 May 16, 2022
Flask-Rebar combines flask, marshmallow, and swagger for robust REST services.

Flask-Rebar Flask-Rebar combines flask, marshmallow, and swagger for robust REST services. Features Request and Response Validation - Flask-Rebar reli

PlanGrid 223 Dec 19, 2022
Brandnew-flask is a CLI tool used to generate a powerful and mordern flask-app that supports the production environment.

Brandnew-flask is still in the initial stage and needs to be updated and improved continuously. Everyone is welcome to maintain and improve this CLI.

brandonye 4 Jul 17, 2022
Flask pre-setup architecture. This can be used in any flask project for a faster and better project code structure.

Flask pre-setup architecture. This can be used in any flask project for a faster and better project code structure. All the required libraries are already installed easily to use in any big project.

Ajay kumar sharma 5 Jun 14, 2022
Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.

Flask-Bcrypt Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application. Due to the recent increased prevelance of

Max Countryman 310 Dec 14, 2022
Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.

Flask-Bcrypt Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application. Due to the recent increased prevelance of

Max Countryman 282 Feb 11, 2021
A Fast API style support for Flask. Gives you MyPy types with the flexibility of flask

Flask-Fastx Flask-Fastx is a Fast API style support for Flask. It Gives you MyPy types with the flexibility of flask. Compatibility Flask-Fastx requir

Tactful.ai 18 Nov 26, 2022
Flask-app scaffold, generate flask restful backend

Flask-app scaffold, generate flask restful backend

jacksmile 1 Nov 24, 2021