›_ebskola.lv
Prog I · 12. tēma · 6 stundas - Flask · PostgreSQL · Deploy

Pilnvērtīga //
izstrāde un deploy

Apvieno visu kursu: Flask + PostgreSQL + mākonis. Kursa beigās: publicēta web lietotne internetā.

6 stundas Flask · SQLAlchemy Daudzspēlētāju Krustiņi
# 01 stundu plāns

6 stundas - full-stack un publicēšana

noslēguma projekts
PārlūksHTML/JSFlaskPython APIroutesDBPostgresFront-end ↔ Back-end ↔ Datubāze// full-stack
arhitektūrafull-stack

Front-end un back-end arhitektūra

Klienta-servera modelis, HTTP pieprasījumi, REST API dizains, koda organizācija slāņos.

12.1 stundaatvērt ↗
@app.route('/')def index(): return render_template()@app.route('/api/gājiens', methods=['POST'])def gājiens(): return jsonify(rezultāts)@app.route('/spēlētāji')def spēlētāji(): return get_all()// Flask routes
Flask · Blueprintsbackend

Flask kā web serveris

Maršrutu organizēšana ar Blueprints, request/response, Flask-SQLAlchemy integrācija.

12.2 stundaatvērt ↗
GET/api/spēles200 OKPOST/api/spēles201 CreatedPUT/api/spēles/42200 OKDELETE/api/spēles/42204// REST API
REST · JSONAPI

REST API izstrāde

RESTful endpoint dizains, HTTP statusa kodi, jsonify(), CORS.

12.3 stundaatvērt ↗
Browser (JS)const r = await fetch( '/api/gajiens', {method:'POST', ...})Flask (Python)@app.route('/api/...')def gajiens(): return jsonify(res)// fetch + Flask
JS · Flaskintegrācija

Front-end + API integrācija

JS fetch() → Flask POST → DB → JSON atbilde → DOM atjaunošana.

12.4 stundaatvērt ↗
Lokāligit pushGitHub CIRenderhttps://... 🔒ENV vars · SECRET_KEY · DATABASE_URL// deploy
Render · deployizvietošana

Izvietošana mākonī un drošība

Render vai Railway deploy, environment variables, HTTPS, requirements.txt.

12.5 stundaatvērt ↗
krustinji.onrender.com 🔒XOXOXFlask · PostgreSQL · publicēts!// kursa noslēgums
Python · Full-stackprojekts

Noslēguma projekts: Daudzspēlētāju Krustiņi

Flask + PostgreSQL + JS - pilna publicēta web lietotne. Kursa noslēgums un portfolio gabals.

12.6 noslēguma projektsatvērt ↗
# 02 špikeris

Flask-SQLAlchemy un deploy špikeris

Flask-SQLAlchemy - modelis un CRUD

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import os

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DATABASE_URL', 'sqlite:///dev.db')
app.secret_key = os.environ.get('SECRET_KEY', 'dev-key')
db = SQLAlchemy(app)

class Spēle(db.Model):
    id     = db.Column(db.Integer, primary_key=True)
    board  = db.Column(db.String(9), default='_________')
    winner = db.Column(db.String(1), nullable=True)

# Izmantošana
spele = Spēle()
db.session.add(spele)
db.session.commit()
Spēle.query.filter_by(winner='X').all()
$ git push render main # kods → mākonis → pieejams visai pasaulei