From 38c2df5a099909ae505699963b22ac4dab22dd1a Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Thu, 11 Jul 2024 07:05:52 +0200 Subject: [PATCH] Progresando --- PruebaForm/app.py | 36 ++++++++++ PruebaForm/instance/uploads/emoji1.png | Bin 0 -> 60102 bytes PruebaForm/templates/upload.html | 24 +++++++ RecetasPy/servicios/instance/recetas.db | Bin 0 -> 28672 bytes RecetasPy/servicios/recetaspy/__init__.py | 3 +- RecetasPy/servicios/recetaspy/auth.py | 6 +- RecetasPy/servicios/recetaspy/paginas.py | 64 ++---------------- .../recetaspy/templates/_cabecera.html | 19 +----- .../recetaspy/templates/_navegacion.html | 1 - .../recetaspy/templates/add_album.html | 36 ---------- .../servicios/recetaspy/templates/index.html | 4 +- .../servicios/recetaspy/templates/signup.html | 8 +-- 12 files changed, 79 insertions(+), 122 deletions(-) create mode 100644 PruebaForm/app.py create mode 100644 PruebaForm/instance/uploads/emoji1.png create mode 100644 PruebaForm/templates/upload.html create mode 100644 RecetasPy/servicios/instance/recetas.db delete mode 100644 RecetasPy/servicios/recetaspy/templates/add_album.html diff --git a/PruebaForm/app.py b/PruebaForm/app.py new file mode 100644 index 0000000..b212a80 --- /dev/null +++ b/PruebaForm/app.py @@ -0,0 +1,36 @@ +from flask import Flask, request, redirect, url_for, render_template, flash +from werkzeug.utils import secure_filename +import os + +app = Flask(__name__, instance_relative_config=True) +app.config['UPLOAD_FOLDER'] = os.path.join(app.instance_path, 'uploads') +app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024 # Limitar el tamaño del archivo a 16 MB +app.config['SECRET_KEY'] = 'supersecretkey' + +# Asegúrate de que la carpeta de uploads existe +os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True) + +@app.route('/') +def index(): + return render_template('upload.html') + +@app.route('/upload', methods=['POST']) +def upload_file(): + if 'photo' not in request.files: + flash('No file part') + return redirect(request.url) + + file = request.files['photo'] + + if file.filename == '': + flash('No selected file') + return redirect(request.url) + + if file: + filename = secure_filename(file.filename) + file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) + flash('File successfully uploaded') + return redirect(url_for('index')) + +if __name__ == '__main__': + app.run(debug=True) diff --git a/PruebaForm/instance/uploads/emoji1.png b/PruebaForm/instance/uploads/emoji1.png new file mode 100644 index 0000000000000000000000000000000000000000..6edf4b0ebddb94405c4c8186a4e72a9e66d51715 GIT binary patch literal 60102 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 Te{U`RGXPBuJ@v}Rf4~1f=O#gg literal 0 HcmV?d00001 diff --git a/PruebaForm/templates/upload.html b/PruebaForm/templates/upload.html new file mode 100644 index 0000000..4fa4d38 --- /dev/null +++ b/PruebaForm/templates/upload.html @@ -0,0 +1,24 @@ + + + + + + Upload Photo + + +

Upload Photo

+ {% with messages = get_flashed_messages() %} + {% if messages %} +
    + {% for message in messages %} +
  • {{ message }}
  • + {% endfor %} +
+ {% endif %} + {% endwith %} +
+ + +
+ + diff --git a/RecetasPy/servicios/instance/recetas.db b/RecetasPy/servicios/instance/recetas.db new file mode 100644 index 0000000000000000000000000000000000000000..77a027d7767d3f1912ef30faf497129d1fc4ae63 GIT binary patch literal 28672 zcmeI&O>YuG7{Kw}mV%&_UYbpB)Amp{F{Z8YQB71&E0sGUmkmPIy|$yNf`;#P^({nAzKCXw&D!etP33Q0JJDASudC`a?)S_o zKP@_E;)y&H1+QuAXE-==WcjeF+X|!Ews7QubY!(8PsE@#o{+Pz@+%o@bJOg5LyNb* zYI>?2dhO&aJtdK}&w*&W=Sn;;I;F=&r?9uXYfl7x(Q~8k4?m4Y+@BioUqvoor83sW zhS|4bk%89WxH2J;IL=%SQH-rIhUqBhE{a~D{C`dRaPCCXb=xrIm!HjywZ3llU&aCI z9$l9vf*XvV8Jg~%O!9Pe>fH5OqYUp&cX!<&_z*4pIV0Y6!p`jO>(>5hwS0UkMIm{* z_y>_R#t&rY?49Mb^S(+3Iy2q1s}0tg_000IagfB*srEUG|G2gd$?QPWFY2q1s}0tg_000IagfB*sr z!~*R9SqKOqfB*srAb') def receta(receta_id): - receta = receta.query.get_or_404(receta_id) + receta = Recipe.query.get_or_404(receta_id) return render_template('recetas.html', receta=receta) @bp.route('/anade_receta', methods=['GET', 'POST']) @@ -49,12 +49,12 @@ def anade_receta(): receta = receta(title=title, description=description, author=current_user) for i, (ingredient, quantity) in enumerate(zip(ingredients, quantities), start=1): - receta.ingredients.append(Ingredient(name=ingredient, quantity=quantity, order=i)) + Recipe.ingredients.append(Ingredient(name=ingredient, quantity=quantity, order=i)) for i, description in enumerate(step_descriptions, start=1): - receta.instructions.append(Instruction(step=i, description=description, order=i)) + Recipe.instructions.append(Instruction(step=i, description=description, order=i)) - db.session.add(receta) + db.session.add(Recipe) db.session.commit() flash('receta created successfully!', 'success') @@ -63,46 +63,6 @@ def anade_receta(): return render_template('nueva_receta.html') -@bp.route('/add_album', methods=['GET', 'POST']) -@login_required -def add_album(): - if request.method == 'POST': - - name = request.form['name'] - artist = request.form['artist'] - year = request.form['year'] - - # Verificar que el campo 'cover_image' está en request.files - if 'coverimage' not in request.files: - return "No file part in the request", 400 - - cover_image = request.files['coverimage'] - - # Verificar que se ha seleccionado un archivo - - if cover_image.filename == '': - return "No selected file", 400 - - if cover_image: - image_filename = secure_filename(cover_image.filename) - cover_image.save(os.path.join(current_app.config['UPLOAD_FOLDER'], image_filename)) - else: - image_filename = None - - new_album = Album(name=name, artist=artist, year=year, cover_image=image_filename) - db.session.add(new_album) - db.session.commit() - - return redirect(url_for('paginas.index')) - - return render_template('add_album.html') - -@bp.route('/album/') -def album(album_id): - album = Album.query.get_or_404(album_id) - songs = Song.query.filter_by(album_id=album_id).all() - return render_template('album.html', album=album, songs=songs) - @bp.route('/uploads/') def uploaded_file(filename): return send_from_directory(current_app.config['UPLOAD_FOLDER'], filename) @@ -111,17 +71,7 @@ def uploaded_file(filename): def buscareceta(): query = request.args.get('query', '') if query: - songs = Song.query.filter(Song.title.contains(query)).all() + songs = Recipe.query.filter(Recipe.title.contains(query)).all() else: songs = [] return render_template('buscareceta.html', query=query, songs=songs) - - -@bp.route('/searchalbum') -def searchalbum(): - query = request.args.get('query', '') - if query: - albumes = Album.query.filter(Album.name.contains(query)).all() - else: - albumes = [] - return render_template('searchalbum.html', query=query, albumes=albumes) diff --git a/RecetasPy/servicios/recetaspy/templates/_cabecera.html b/RecetasPy/servicios/recetaspy/templates/_cabecera.html index 2b52255..bde4231 100644 --- a/RecetasPy/servicios/recetaspy/templates/_cabecera.html +++ b/RecetasPy/servicios/recetaspy/templates/_cabecera.html @@ -73,22 +73,6 @@ - - diff --git a/RecetasPy/servicios/recetaspy/templates/_navegacion.html b/RecetasPy/servicios/recetaspy/templates/_navegacion.html index 73e703f..6ebe658 100644 --- a/RecetasPy/servicios/recetaspy/templates/_navegacion.html +++ b/RecetasPy/servicios/recetaspy/templates/_navegacion.html @@ -24,7 +24,6 @@ {% if current_user.is_authenticated %} Añadir receta -