[pyar] Python me vuelve loco
Matías Bellone
matiasbellone en gmail.com
Lun Ago 5 18:40:38 ART 2013
2013/8/5 diego <dieguicho en gmail.com>:
> cambie todos los nombres y sigue pasando lo mismo.
> Angel probé lo que me sugeriste y tampoco
>
> routes.py
> from flask import Flask, render_template, request
>
> app = Flask(__name__)
>
> @app.route('/hola/<nombre>')
> def hola(nombre=None):
> return render_template('hola.html', nombre=nombre)
>
> if __name__ == '__main__':
> app.run(debug=True)
>
>
> hola.html
> {% extends "layout.html" %}
> {% block content %}
> <div class="jumbo">
> <h2>Welcome to the Flask app<h2>
> <h3>This is the home page for the Flask app<h3>
> </div>
> {% endblock %}
>
> layout.html
> <!DOCTYPE html>
> <html>
> <head>
> <title>Flask App</title>
> <link rel="stylesheet" href="{{ url_for('static',
> filename='css/main.css') }}">
> </head>
> <body>
>
> <header>
> <div class="container">
> <h1 class="logo">Flask App</h1>
> <nav>
> <ul class="menu">
> <li><a href="{{ url_for('hola') }}">hola</a></li>
> </ul>
> </nav>
> </div>
> </header>
>
> <div class="container">
> {% block content %}
> {% endblock %}
> </div>
>
> </body>
> </html>
>
El problema es que registrás la URL con un parámetro (nombre) y tu
llamada a la función "url_for('hola')" no incluye dicho parámetro.
Para poder hacer que el parámetro sea opcional tenés que registrar la
ruta correspondiente agregando «@app.route('/hola/')» antes de la que
ya tenés para que la función quede registrada en ambas rutas con y sin
parámetro.
Saludos,
Toote
More information about the pyar
mailing list