Todo list in AngularJS e Python
Sempre più si sente parlare di Python come linguaggio di programmazione, quindi ho deciso di studiarlo rifacendo l'applicazione Todo list in AngularJS e NodeJs.
Questa versione ha il backend lato server realizzato in Python, mentre l'interfaccia lato client è rimasta in AngularJS 1.
Questo è uno screenshot della pagina principale basata sul CSS di Bootstrap 3:
La struttura delle cartelle dell'applicazione è questa:
Per una spiegazione della parte client in AngularJS vedi Todo list in AngularJS e NodeJs.
Per quanto riguarda Python abbiamo:
Per funzionare è necessario che sulla macchina sia installato Python e sia disponibile un database Micrososft SQL Server.
Fatto questo è necessario:
Lo stesso esempio lo trovate anche in versione ASP.NET e .NET Core a questa pagina Todo list in AngularJS e .NET MVC.
Questa versione ha il backend lato server realizzato in Python, mentre l'interfaccia lato client è rimasta in AngularJS 1.
Questo è uno screenshot della pagina principale basata sul CSS di Bootstrap 3:
La struttura delle cartelle dell'applicazione è questa:
Text
/
sql_script ... lo script t-sql per creare il data base
static ... la directory pubbica di nodejs (tutte le chiamate a questa dir sono considerate statiche)
app ... l'applicazione SPA AngularJS 1
css ... i css dell'applicazione
fonts ... i font di boostrap
images ... le immagini dell'app
js ... le librerie di AngularJS 1
templates ... i template html delle pagine python
index.html
app.py ... la pagina iniziale di nodejs/express
config.json ... i parametri di configurazione tra cui la connection string
requirements.txt ... i pacchetti da installare
service.py ... l'implementazione delle api
start.bat ... file bat per windows per far partire il server sulla porta 5000
Per funzionare richiede che sulla macchina sia installato Python oltre ad aver disponibile un Database Micrososft SQL Server
Per una spiegazione della parte client in AngularJS vedi Todo list in AngularJS e NodeJs.
Per quanto riguarda Python abbiamo:
- templates/index.html il template Html dell'unica pagina lato server (da notare i tag {% raw %} ... {% endraw %} per inserire del codice senza che venga parsato da Python)
- app.py startup dell'applicazione con definizione del routing delle API (app.run e app.route)
- services.py l'implementazione delle API (def nome_funzione():)
- config.json i dati di configurazione tra cui la connection string al database
- requirements.txt l'elenco dei pacchetti da installare necessari per il funzionamento dell'applicazione (tra cui Flask e pyodbc)
Per funzionare è necessario che sulla macchina sia installato Python e sia disponibile un database Micrososft SQL Server.
Fatto questo è necessario:
- creare una cartella e scompattare lo zip oppure clonare il repository Git
- creare il database tramite lo script /sql_scripts/mssql.sql
- cambiare i parametri di configurazione in config.json
- installare i pacchetti necessari con pip requirements.txt
- eseguire l'applicazione con start.bat
- aprire il browser alla pagina http://localhost:5000
JavaScript
{
"db": {
"driver": "{SQL Server}",
"server": "localhost",
"database": "NodeJsDB",
"username": "nodejs",
"password": "....."
}
}
Su Windows Python può essere invocato con il comando py.exe, su altri sistemi come Linux o macOS, può essere invocato con python (versione 2.x) oppure python3 (versione 3.x).
pip è il gestore di pachetti di Python (come npm lo è per NodeJs).
pip è il gestore di pachetti di Python (come npm lo è per NodeJs).
Lo stesso esempio lo trovate anche in versione ASP.NET e .NET Core a questa pagina Todo list in AngularJS e .NET MVC.