more changes in readme

documentation
chae 2 years ago
parent d5d3961368
commit ee38a27618

@ -1,7 +1,7 @@
# Flask # Flask
Flask is a web framework. This means flask provides you with tools, libraries and technologies that allow you to build a web application. This web application can be some web pages, a blog, a wiki or go as big as a web-based calendar application or a commercial website. (https://pymbook.readthedocs.io/en/latest/flask.html) Flask is a web framework. This means flask provides you with tools, libraries and technologies that allow you to build a web application. This web application can be some web pages, a blog, a wiki or go as big as a web-based calendar application or a commercial website. (https://pymbook.readthedocs.io/en/latest/flask.html)
## SET UP ## SET UP (Actors: you and your local computer)
Open the terminal! Don't be afraid! If I(we) can do it, you can do it too. Open the terminal! Don't be afraid! If I(we) can do it, you can do it too.
@ -10,7 +10,7 @@ Clone this repository (aka 'repo')
`git clone https://git.xpub.nl/manetta/flask-example.git` `git clone https://git.xpub.nl/manetta/flask-example.git`
then navigate to the folder. then navigate to the folder.
__NOTE:__For more info how to navigate in the terminal [shell_cheat_sheet] (https://pzwiki.wdka.nl/mediadesign/Shell_Cheat_Sheet) _Find more information on how to navigate in the terminal:_ [shell_cheat_sheet] (https://pzwiki.wdka.nl/mediadesign/Shell_Cheat_Sheet)
`cd flask-example` `cd flask-example`
@ -24,7 +24,7 @@ Create a virtual environment. This is a contained workspace where you can instal
This will create a virtual environment in a folder called `venv`. This will create a virtual environment in a folder called `venv`.
Note that the first `venv` is the command, the second `venv` is the name of the folder. Note that the first `venv` is the command, the second `venv` is the name of the folder.
Once the virtual environmnent folder has been created, you need to activate it. There are different ways to do it, depending on your operative system. (we are at the terminal) Once the virtual environmnent folder has been created, you need to activate it. There are different ways to do it, depending on your operating system.
On Mac and Linux On Mac and Linux
`source venv/bin/activate` `source venv/bin/activate`
@ -34,9 +34,9 @@ On Windows
If everything went ok you should notice that the virtual environment `(venv)` is now active in your terminal. If everything went ok you should notice that the virtual environment `(venv)` is now active in your terminal.
Find more information info here: [Python Virtual Environments: A Primer](https://realpython.com/python-virtual-environments-a-primer/) _Find more information info here:_ [Python Virtual Environments: A Primer](https://realpython.com/python-virtual-environments-a-primer/)
Now you can install the requirements. For this small example the only required packages to install is Flask. Now you can install the _*requirements*_. For this small example the only required packages to install is Flask.
`pip install flask` `pip install flask`
@ -44,12 +44,12 @@ Now you are ready to go!
## RUN ## RUN
In order to start the application you need to run the `app.py` with Python. In order to start the application you need to run the `app.py` with Python in your terminal.
The simplest way to do it is: (btw you are still in the terminal) The simplest way to do it is:
`python app.py` `python app.py`
And that will prompt And that will prompt:
``` ```
* Serving Flask app 'app' * Serving Flask app 'app'
@ -59,26 +59,27 @@ WARNING: This is a development server. Do not use it in a production deployment.
Press CTRL+C to quit Press CTRL+C to quit
``` ```
If you now open your browser and navigate to [http://127.0.0.1:3000](http://127.0.0.1:3000), and ta daaaa, the flask application is here! If you now open your browser and navigate to [http://127.0.0.1:3000](http://127.0.0.1:3000), and __ta daaaa__, the flask application is here!
The address `http://127.0.0.1` is actually the address of your machine, also known as `localhost`. If you try and change the url into `localhost:3000` the result should be the same! The address `http://127.0.0.1` is actually the address of your local computer, also known as `localhost`. If you try and change the url into `localhost:3000` the result should be the same!
Keep in mind that, even if you are seeing it in a browser, this is actually running locally. It is not online! Keep in mind that, even if you are seeing it in a browser, this is actually running locally. It is not online! (YET)
## Going online ## Going online (Actors: you, your local computer, git, and the small self-hosted server)
When you want to publish the Flask app online, the easiest way to do it(and manage your project) is to use git to keep in sync with your local project. When you want to publish the Flask app online, the easiest way to do it(and manage your project/app) is to use __git__ to keep in sync with your local project/app.
For that you can create a new repo and follow the guided steps to push your app there. For that you can create a new repo in git and follow the guided steps to push your app there.
There are plenty of ways to put your flask app online. There are plenty of ways to put your flask app online.
Here in XPUB we mainly work with small self-hosted servers like the Soupboat and the Breadcube. Here, in XPUB, we mainly work with small self-hosted servers like the Soupboat and the Breadcube.
These steps refer to this kind of setup. These steps refer to this kind of specific setup.
<!-- TODO: image for illustrating this specific setup -->
### .gitignore ### .gitignore
When working with git, it could happen that you don't want to push all your files in the repository. That is the case for example with the `venv` folder, of for other files related to your configurations such as `.env` files, API keys, passwords, etc. When working with git, it could happen that you don't want to push all your files in the repository. (For privacy reason, or environmental reason etc.) That is the case for example with the `venv` folder, or for other files related to your configurations such as `.env` files, API keys, passwords, etc.
To manage what is going to be pushed or not you can use a `.gitignore` file. To manage what is going to be pushed or not you can use a `.gitignore` file.
@ -95,7 +96,7 @@ You can find some here: [A collection of .gitignore templates](https://github.co
### .env ### .env
Your computer and the server are different machines, and they could require different configurations. The port where you are running the local application could not be available in the server. Or you would need to add a prefix to the URL to make it works. Your computer and the server are different machines, and they could require different configurations. The port where you are running the local Flask application could not be available in the server. Or you would need to add a prefix to the URL to make it works.
For example to work in the Soupboat your routes must begin with `/soupboat/flask-example`, while in the Breadcube `/breadcube/flask-example`, etc. For example to work in the Soupboat your routes must begin with `/soupboat/flask-example`, while in the Breadcube `/breadcube/flask-example`, etc.
@ -105,18 +106,18 @@ It's not handy to keep these variables in the code, because then you need to cha
So, it's a good idea to separate things: So, it's a good idea to separate things:
- _What stays the same_ - _What stays the same_
Ideally the code is the same both in your local app and in the one online. Ideally the code is the same both in your local app and the one online.
- _What changes_ - _What changes_
the environmental variables: port, url prefix, debug mode, you name it the environmental variables: port, url prefix, debug mode, you name it
So here an `.env` file could come in handy. So here an `.env` file could come in handy.
This example is designed in a way that doesn't require an `.env` file on your local version, because the default values should be fine. This `flask-example` is designed in a way that doesn't require an `.env` file on your local version, so the default values should be fine.
However in the server you will probably need to create one to adjust the url prefix and the specific port number where to run the app. However, in the server, you will probably need to create an `.env` file to adjust the url prefix and the specific port number where to run the app.
Here are the variables we are using, __BUT__ keep in mind that your values will probably be different! Here are the variables we are using, __BUT__ keep in mind that you probably need to type different values depending on the server of your choice and URL etc!
``` ```
URL_PREFIX=/soupboat/flask-example URL_PREFIX=/soupboat/flask-example

Loading…
Cancel
Save