Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

227
Vistas
Flask evita que los usuarios hagan nuevas publicaciones por spam

Estoy tratando de hacer una aplicación de frasco donde te registras y puedes hacer nuevas publicaciones. Pero quiero que si el usuario ha realizado más de 3 publicaciones en menos de 10 minutos, debe esperar 5 minutos. Aquí está el código:

 allpos = [] @app.route('/makepost',methods=['POST','GET']) def makepost(): print(allpos) sear = 1 oldtime = time.time() if len(allpos) == 3: currenttime = time.time() if currenttime - oldtime > 300: allpos.clear() return render_template('posts.html') else: return render_template('wait.html') if not current_user.is_authenticated: return redirect('/login') if request.method == 'POST': global title global content title = request.form['title'] content = request.form['content'] if len(title) < 5: flash("Title must be at least 5") if len(title) > 50: flash("Title must be 50 characters max") if len(content) < 5: flash('Content must be at least 5 letters') if len(title) > 5 and len(title) < 50 and len(content) > 5: sear = 2 if sear == 2: global post1 post1 = Post(title=title,content=content,name=current_user.name,author=current_user.id) db.session.add(post1) db.session.commit() allpos.append('1') if sear != 2: flash('We couldnt make your post') return render_template('posts.html')

Quiero evitar que el usuario haga publicaciones en este sentido:

 oldtime = time.time() if len(allpos) == 1: currenttime = time.time() if currenttime - oldtime > 0: print('asdasd') allpos.clear() return render_template('posts.html') else: return render_template('wait.html')

Pero el tiempo pasa y sigue impidiendo al usuario. Además, cuando el usuario va a otra página, el tiempo se reinicia. Mi principal problema es que impide que el usuario haga publicaciones. También uso SQLAlchemy.

Aquí está el usuario y el modelo de publicación:

 class Users(UserMixin,db.Model): id = db.Column(db.Integer,primary_key=True) name = db.Column(db.String(200),unique=True,nullable=False) password = db.Column(db.String(200),unique=False,nullable=False) role = db.Column(db.String(200),unique=False,nullable=False) missions = db.Column(db.String(200),unique=False,nullable=False) posts = db.relationship('Post',backref='user') class Post(db.Model): id = db.Column(db.Integer,primary_key=True) title = db.Column(db.String(200),unique=False,nullable=False) content = db.Column(db.Text,unique=False,nullable=False) name = db.Column(db.String(200),unique=False,nullable=False) author = db.Column(db.Integer,db.ForeignKey('users.id'),unique=False)

Por favor dame una respuesta.

Gracias.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda