Python

From Wiki RB4

Resources

Language

Python, named after the British comedy group Monty Python, is a high-level, interpreted, interactive, and object-oriented programming language.

Comment

# ... till end of line

__name__

The __name__ variable (two underscores before and after) is a special Python variable. It gets its value depending on how we execute the containing script. When you run the script, the __name__ variable equals '__main__'. When you import the script, it will contain the name of the imported script w/o extension (see C:\Uwes\python\UdacityFullWebDeveloper\testName\).

Frameworks

Flask

Flask is a micro web framework written in Python. Flask is using a template engine called Jinja.

To enable to run a flask application as a 'normal' python app with

python <FILE>

add to end of file

if __name__ == '__main__':
 app.run()

and to enable debugging and reloading set in Powershell (or call app.run(debug=True))

$env:FLASK_ENV = "development"

which starts a http server on port 5000.

By default html files are located in a subfolder called 'templates'. They can be rendered by calling render_template().

Flask Migration and Flask Script

Flask-Migrate uses the Alembic library, a database migration tool, underneath. It auto-detects changes from the old to the new version of the SQLAlchemy models. It creates migration scripts and enables fine-grain control to change existing tables.

flask db init // creates migrations folder structure
flask db migrate // check the current and the former model in DB and creates versions in migrations folder
flask db upgrade
flask db downgrade
Installation
  • see below

Operation

Comannd Line

python -V // prints version
python
>>> <COMMAND>

Installation