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 0000000..6edf4b0 Binary files /dev/null and b/PruebaForm/instance/uploads/emoji1.png differ 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 %} + + {% endif %} + {% endwith %} +
+ + +
+ + diff --git a/RecetasPy/servicios/instance/recetas.db b/RecetasPy/servicios/instance/recetas.db new file mode 100644 index 0000000..77a027d Binary files /dev/null and b/RecetasPy/servicios/instance/recetas.db differ diff --git a/RecetasPy/servicios/recetaspy/__init__.py b/RecetasPy/servicios/recetaspy/__init__.py index b6b864d..365f957 100644 --- a/RecetasPy/servicios/recetaspy/__init__.py +++ b/RecetasPy/servicios/recetaspy/__init__.py @@ -6,7 +6,7 @@ from flask_login import LoginManager, UserMixin, login_user, login_required, log # init SQLAlchemy so we can use it later in our models db = SQLAlchemy() -from recetas import paginas, auth +from recetaspy import paginas, auth def create_app(): app = Flask(__name__) @@ -15,6 +15,7 @@ def create_app(): app.config['SECRET_KEY'] = 'secret-key-goes-here' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///recetas.db' app.config['UPLOAD_FOLDER'] = os.path.join(app.instance_path, 'uploads') + app.config['DEBUG'] = True app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024 # 16 MB máximo diff --git a/RecetasPy/servicios/recetaspy/auth.py b/RecetasPy/servicios/recetaspy/auth.py index e24dbbb..03fa8af 100644 --- a/RecetasPy/servicios/recetaspy/auth.py +++ b/RecetasPy/servicios/recetaspy/auth.py @@ -39,9 +39,9 @@ def signup(): @bp.route('/signup', methods=['POST']) def signup_post(): - username = request.form['username'] - password = request.form['password'] - confirm_password = request.form['confirm_password'] + username = request.form.get('username') + password = request.form.get('password') + confirm_password = request.form.get('confirm_password') photo = request.files['fotoperfil'] if password != confirm_password: diff --git a/RecetasPy/servicios/recetaspy/paginas.py b/RecetasPy/servicios/recetaspy/paginas.py index 9f37626..4cd10c2 100644 --- a/RecetasPy/servicios/recetaspy/paginas.py +++ b/RecetasPy/servicios/recetaspy/paginas.py @@ -4,7 +4,7 @@ from flask_login import login_user, logout_user, login_required, current_user import os -from .models import db, receta, Ingredient, Instruction +from .models import db, Recipe, Ingredient, Instruction bp = Blueprint("paginas", __name__) @@ -15,7 +15,7 @@ def index(): @bp.route('/recetas') def recetas(): - recetas = receta.query.all() + recetas = Recipe.query.all() return render_template('recetas.html', recetas=recetas) @bp.route('/404') @@ -33,7 +33,7 @@ def account(): @bp.route('/receta/') 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 -