Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/CrispenGari/python-and-flask
💎 A quick start for web server development using python flask.
https://github.com/CrispenGari/python-and-flask
css flask graphql graphql-api html javascript orm python redis scss server sqlalchemy-python typescript webdevelopment
Last synced: 3 months ago
JSON representation
💎 A quick start for web server development using python flask.
- Host: GitHub
- URL: https://github.com/CrispenGari/python-and-flask
- Owner: CrispenGari
- License: apache-2.0
- Created: 2021-05-27T11:08:58.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-18T18:01:14.000Z (about 1 year ago)
- Last Synced: 2024-06-28T11:31:38.448Z (4 months ago)
- Topics: css, flask, graphql, graphql-api, html, javascript, orm, python, redis, scss, server, sqlalchemy-python, typescript, webdevelopment
- Language: Python
- Homepage:
- Size: 324 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### Python and Flask
This repository contains various flask applications examples for creating API's and Web Applications using python and flask.
### Creating a virtual environment
There are two ways of creating a virtual environment in python.
1. creating a virtual environment from a already exists folder.
- to create a virtual environment in the existing folder you first need to navigate to the folder that you wnt to create virtual environment by running the command:
```shell
cd myv
```- then you run the following command to create a virtual environment
```shell
virtualenv .
```> This just means create a virtual environment in the current directory.
2. creating a virtual environment and naming it.
- to create a virtual environment by name you run the following command:
```shell
virtualenv venv
```### Activating virtual environment
To activate virtual environment you have to run the `activate.bat` file that will be generated in virtual environment that you have created for example:
```shell
.\venv\Scripts\activate
# or
.\venv\Scripts\activate.bat
```> Activating the first virtual (myv) you will do it as follows:
```shell
.\Scripts\activate
# or
.\Scripts\activate.bat
```### Deactivating virtual environment
To deactivate virtual environment you have to run the `deactivate.bat` file that will be generated in virtual environment that you have created for example:
```shell
.\venv\Scripts\deactivate
# 1.
.\venv\Scripts\deactivate.bat
```> Activating the first virtual (myv) you will do it as follows:
```shell
.\Scripts\deactivate
# 1.
.\Scripts\deactivate.bat
```> I reccomment to navigate to the project directory after creating a virtual environment before installing packages:
```shell
📁 root
📁 venv
```To install the packages after activating the virtual environment you just run the following command:
```shell
pip install# example
pip install numpy
```### Getting an error?
If you are getting a command error that says:
```shell
'virtualenv' is not recognized as an internal or external command,
operable program or batch file.
```You could try to install `virtualenv` using pip as follows:
```shell
pip install virtualenv
```Or
```shell
python -m pip install virtualenv
```### Installing Flask
```shell
pip install flask
```### Hosting Flask App.
In this section we are going to have a look at how we can deploy a flask static site. First you need to install `frozen-flask`.
> Frozen-Flask freezes a Flask application into a set of static files. The result can be hosted without any server-side software other than a traditional web server.
```shell
pip install Frozen-Flask
```We are going to create a `build.py` file. This is where we are going to write the code for building the app using `frozen-flask`. The script for building a static flask app is as follows:
```py
from app import app
from flask_frozen import Freezerfreezer = Freezer(app=app, with_static_files=True)
if __name__ == '__main__':
freezer.freeze()
```Before running the building script we need to downgrade `flask` and `Werkzeug` to version `2` so that we don't get the build errors as follows:
```shell
pip install flask==2.1.2 && pip install Werkzeug==2.3.1
```To generate the build we will need to run the following command:
```shell
python build.py
```A build folder will will be generated which means we are ready to host our static site. First things first we need to generate a `requirements.txt` file by running the following command:
```shell
pip freeze > requirements.txt
```After that we are going to then commit our project to `GitHub`. Then we can host our static site on the following cloud services:
1. [Netlify](https://www.netlify.com)
2. [Cloudflare](https://www.cloudflare.com/)
3. [GitHub Pages](https://pages.github.com/)
4. [GitLab Pages](https://docs.gitlab.com/ee/user/project/pages/)### Hosting on Netlify
First you need to create a [Netlify](https://www.netlify.com) account.
1. When authenticated you will need to select an option on the Dashboard that says **`Import From Git`**.
2. Then select `Deploy With GitHub`
3. Select the `GitHub` project that you want to deploy.
4. Specify the base directory to `/`
5. Set deploy branch to `main`
6. And you need to specify the build command to `python3 build.py`
7. Since a set of static files (HTML, CSS, JavaScript) are being deployed, only the `Publish directory` needs to be specified as the path to the set of static files: `/build`
8. Click the `deploy` button then your site will be deployed.### Links
1. [Frozen-Flask](https://pythonhosted.org/Frozen-Flask/)
2. [static-site-flask-and-netlify](https://testdriven.io/blog/static-site-flask-and-netlify/)