pythonanywhere/kychot/web
pythonanywhere/kychot/web
Moje první webová stránka na https://pythonanywhere.com
https://kychot.pythonanywhere.com
Postupuji podle návodu na https://www.pythonanywhere.com/task_helpers/start/3-web_app/ – I want to create a web application
- Jdu na svůj Dashboard
- V pravém sloupci All Web apps kliknu na Open Web tab
- + Add a new web app
- Your web app's domain name: Protože mám bezplatný účet, nemám na vybranou a kliknu na [Next]
- Mám na vybranou několik frameworků:
- Vyberu Flask
- Mám na vybranou několik verzí Pythonu: 2.7, 3.4, 3.5, 3.6, 3.7 (všechny jedou defaultně na Flask 1.0.2, ale mám možnost to změnit)
- Zvolím nejvyšší verzi Python 3.7
- Ponechám defaultní cestu k Flask project:
/home/kychot/mysite/flask_app.py
- A moje defaultní webová aplikace je na světě:
- http://kychot.pythonanywhere.com/
- zobrazuje: Hello from Flask!
- Upozornění: Aplikace běží zdarma, ale je nutno se alespoň jednou za 3 měsíce zalogovat a kliknout na [Run until 3 months from today] – to platí pro neplatící uživatele
- Je nám nabízeno [Add a new web app], ale po kliknutí jsme upozorněni, že pro další aplikaci už si musíme platit...
Editace
editovatTeď můžeme upravovat kód aplikace:
- Vidím, že zdrojový kód (Source code) je v adresáři:
/home/kychot/mysite
Kliknu tedy na Go to directory. - Vidím, že tu je jen jeden zdrojový soubor aplikace:
flask_app.py
- Mám možnost si ho stáhnout a editovat off-line, anebo kliknout na tužtičku a editovat on-line. Tak třeba:
# První Kychotí aplikace, spuštěná ve Flasku na adrese:
# http://kychot.pythonanywhere.com/
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Kychot sedí na Flasku a zdraví celý svět!'
- Po uložení (Save anebo
Ctrl-S
musím kliknout na reload 🗘
Konfigurace
editovatWSGI configuration file: /var/www/kychot_pythonanywhere_com_wsgi.py
# This file contains the WSGI configuration required to serve up your
# web application at http://<your-username>.pythonanywhere.com/
# It works by setting the variable 'application' to a WSGI handler of some
# description.
#
# The below has been auto-generated for your Flask project
import sys
# add your project directory to the sys.path
project_home = u'/home/kychot/mysite'
if project_home not in sys.path:
sys.path = [project_home] + sys.path
# import flask app but need to call it "application" for WSGI to work
from flask_app import app as application # noqa
Na tom je nejdůležitější, že v tomto souboru je definována globální proměnná application
, kterou lze odkudkoliv importovat.
Flask intro
editovatÚvod do použití Flask na pythonanywhere:
Co je popisováno ze začátku už máme a umíme; první, co nás dále čeká, je systém správy verzí w: Git
Git
editovat- otevřeme si konsoli
cd ~/mysite
git config --global user.name "Kychot"
git config --global user.email "*****@seznam.cz"
git init
Initialized empty Git repository in /home/kychot/mysite/.git/
emacs -nw .gitignore
*.pyc
__pycache__
git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
.gitignore~
flask_app.py
nothing added to commit but untracked files present (use "git add" to track)
git add .gitignore flask_app.py
git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
new file: flask_app.py
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore~
git commit -m"1.commit prvni aplikace ve Flasku vcetne .gitignore"
[master (root-commit) a2f7e24] 1.commit prvni aplikace ve Flasku vcetne .gitignore
2 files changed, 12 insertions(+)
create mode 100644 .gitignore
create mode 100644 flask_app.py
git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore~
nothing added to commit but untracked files present (use "git add" to track)
Tak teď k souboru /home/kychot/mysite/flask_app.py přidáme nějakou blbost, třeba:
@app.route('/blbost')
def blbost():
return 'To je asi ňáká blbost'
Jo, funguje to:
http://kychot.pythonanywhere.com/blbost
A teď tu blbost zase dáme pryč:
git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: flask_app.py
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore~
no changes added to commit (use "git add" and/or "git commit -a")
git checkout -- flask_app.py
git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore~
nothing added to commit but untracked files present (use "git add" to track)
Templates
editovatPokračujeme na https://blog.pythonanywhere.com/121/ sekce A first cut with dummy data
Jdu na https://www.pythonanywhere.com/user/kychot/files/home/kychot/mysite
a dále na https://www.pythonanywhere.com/user/kychot/files/home/kychot/mysite/templates