Flask / Bootstrap - Message Flash in form-control ?

Django, Flask, Bottle, WSGI, CGI…
Antworten
Zoja
User
Beiträge: 145
Registriert: Freitag 28. Februar 2014, 14:04

Hallo Leute ich versuche es hinzubekommen, dass eine flash message in die von Bootstrap erstellte form-control kommt?

Also auf dem Bild soll die message nicht drunter erscheinen, sondern den placeholder ersetzen

Bild

Hier die Methode, wo geflashed wird, achso und komischerweise kriege ich es auch nicht hin, dass geflashed wird, wenn Sonderzeichen drin
sind. Ich will die Nummer nur als Integer ohne z.B. 0231/998776 muss zu 0231998776 werden

Code: Alles auswählen

# Zum Eintragen der Nummer auf der Index 
@app.route('/', methods=["GET", "POST"])
def index():
#	form = SearchForm()
	form = NummerForm()
	if form.validate_on_submit():
		new_nummer = PhonenumberModel(nummer = form.nummer.data)
		try:
			if new_nummer:
				db_session.add(new_nummer)
				db_session.commit()
#				flash('Fahrt wurde erfolgreich angelegt!')
				return render_template('danke.html', form = form)
			else:
				flash('Nummer ohne Sonderzeichen eingeben')
		except IntegrityError:
			flash('Diese Nummer ist bereits registriert')
	return render_template('index.html', form = form)
Hier die Form

Code: Alles auswählen

class NummerForm(Form):
	nummer = IntegerField('Phone Number', validators=[DataRequired()])

Hier das Model

Code: Alles auswählen

class PhonenumberModel(Base):
    __tablename__ = 'nummern'
    id = Column(Integer, primary_key=True)
    nummer = Column(Integer, unique=True)
	
    def __init__(self, nummer=None):
        self.nummer = nummer

    def get(id):
        if self.id == id:
            return self
        else:
            return None

    def __repr__(self):
        return '<%s(%r, %r)>' % (self.__class__.__name__, self.id, self.nummer)
Hier der Auszug aus dem Template (die index.html) eigentlich müsste in der form.nummer dann die flash message stehen, aber alles führt zum Error, habs jetzt direkt drunter

Code: Alles auswählen

<form class="form-inline" role="form" method="POST" action="{{ url_for('index') }}">
                        <fieldset>
                            {{ form.hidden_tag() }}
                            <div class="form-group">
                                {{ form.nummer(class = "form-control input-lg", placeholder = "Handynummer") }}
                            


                            
                                
                                {% with messages = get_flashed_messages() %} {% if messages %}
                                <ul class="flashes list-unstyled text-danger">
                                    {% for message in messages %}
                                    <li> {{ message }} </li>
                                    {% endfor %}
                                </ul>
                                {% endif %} {% endwith %} 
                            </div>


                            <!-- Change this to a button or input when using this as a form -->
                            <button type="submit" class="btn btn-success input-lg"> Kostenlos ausprobieren </button>
                        </fieldset>
                    </form>

Vielen Dank!
Antworten