viernes, 18 de diciembre de 2020

Código Fuente del CRUD Frases Celebres con Python - Flask - Sqlite - Semantic ui

Se anexa el código fuente del ejercicio Crud con Flask y Python 


Archivo app.py:

from flask import Flask, render_template, request, redirect, url_for

from flask_sqlalchemy import SQLAlchemy


app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite'

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db = SQLAlchemy(app)


class Frase(db.Model):

id=db.Column(db.Integer, primary_key= True)

title=db.Column(db.String(100))

complete=db.Column(db.Boolean)


@app.route('/')

def index():

#listar todos los registros

new_frase = Frase.query.all()


return render_template('index.html', new_frase = new_frase)


@app.route("/add", methods=["POST"])

def add():

#agregar un nuevo registro

title = request.form.get("title")

new_frase = Frase(title=title, complete=False)


db.session.add(new_frase)

db.session.commit()

return redirect (url_for("index"))


@ app.route ("/ update / <int: frase_id>")

def actualizar (frase_id):

#actualiar un registro

frase = Frase.query.filter_by (id = frase_id) .first ()

frase.complete = no frase.complete


db.session.commit ()

return redirect (url_for ("índice"))


@ app.route ("/ eliminar / <int: frase_id>")

def eliminar (frase_id):

#eliminar un registro

frase = Frase.query.filter_by (id = frase_id) .first ()

frase.complete = no frase.complete


db.session.delete (frase)

db.session.commit ()

return redirect (url_for ("índice"))


if __name__ == '__main__':

db.create_all ()

app.run (debug = True)



Codígo del archivo Index.html

<!DOCTYPE html>

<html lang="es">

<head>

<meta charset="utf-8">

<title>Frases Celebres</title>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.css">

<script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.js"></script>

</head>

<body>

<div style="margin-top: 30px;" class="ui container">

<h1 class="ui center aligned header">Frases Celebres</h1>

<h2 class="ui center aligned header">Python - Flask - Sqlite - Semantic ui</h2>

<form class="ui form" action="/add" method="POST">

<div class="field">

<!--<label for="title">Frases Celebres</label> -->

<a class="ui orange ribbon label big header" for="title">Frases Celebres</a>

<input type="text" name="title" placeholder="Ingresa tu frase celebre...">

<br>

<button class="ui blue button" type="submit">Agregar</button>

</div>

</form>

{% for frase in new_frase %}

<div class="ui segment">

<p class="ui big header">{{ frase.id }} | {{ frase.title }}</p>

{% if frase.complete == False %}

<span class="ui gray label" >Incompleta</span>

{% else %}

<span class="ui green label">Completa</span>

{% endif %}


<a class="ui blue button" href="/update/{{ frase.id }}">Actualizar</a>

<a class="ui red button" href="/delete/{{ frase.id }}">Eliminar</a>

</div>

{% endfor %}


</div>

</body>

</html>


Puedes seguir el paso a paso en los siguientes videos:


Visita mi canal de youtube para mas contenido:

https://www.youtube.com/c/SilverioDelRosarioFernandezplusSilver

No hay comentarios.:

Publicar un comentario

Imágenes para tu página web, tu presentación profesional y más...

Día nublado Hermoso arbol Mundo arácnido  Hermosa naturaleza  Para e...