Spaces:
Sleeping
Sleeping
feat(user-profile): add /perfil route and template to collect user name and preferences
Browse files- app.py +16 -0
- templates/profile.html +23 -0
app.py
CHANGED
|
@@ -133,5 +133,21 @@ def chat(user_id):
|
|
| 133 |
return render_template('chat.html', user_id=user_id, response=response)
|
| 134 |
|
| 135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 136 |
if __name__ == '__main__':
|
| 137 |
app.run(debug=True)
|
|
|
|
| 133 |
return render_template('chat.html', user_id=user_id, response=response)
|
| 134 |
|
| 135 |
|
| 136 |
+
@app.route('/perfil/<int:user_id>', methods=['GET', 'POST'])
|
| 137 |
+
def perfil(user_id):
|
| 138 |
+
history = get_user_history(user_id)
|
| 139 |
+
if not history:
|
| 140 |
+
return "Usuário não encontrado", 404
|
| 141 |
+
|
| 142 |
+
if request.method == 'POST':
|
| 143 |
+
name = request.form.get('name')
|
| 144 |
+
preferences = request.form.getlist('preferences')
|
| 145 |
+
# aqui vamos salvar nome e preferências
|
| 146 |
+
history['name'] = name
|
| 147 |
+
history['preferences'] = preferences
|
| 148 |
+
|
| 149 |
+
return render_template('perfil.html', user_id=user_id, history=history)
|
| 150 |
+
|
| 151 |
+
|
| 152 |
if __name__ == '__main__':
|
| 153 |
app.run(debug=True)
|
templates/profile.html
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html>
|
| 3 |
+
<head>
|
| 4 |
+
<title>Perfil do Usuário</title>
|
| 5 |
+
</head>
|
| 6 |
+
<body>
|
| 7 |
+
<h1>Bem-vindo, usuário {{ user_id }}</h1>
|
| 8 |
+
|
| 9 |
+
<form method="POST">
|
| 10 |
+
<label for="name">Seu nome:</label><br>
|
| 11 |
+
<input type="text" id="name" name="name" value="{{ history.get('name', '') }}"><br><br>
|
| 12 |
+
|
| 13 |
+
<p>Quais gêneros de livros você gosta?</p>
|
| 14 |
+
{% for genre in ['ficção', 'não ficção', 'ciência', 'fantasia'] %}
|
| 15 |
+
<input type="checkbox" id="{{ genre }}" name="preferences" value="{{ genre }}"
|
| 16 |
+
{% if genre in history.get('preferences', []) %}checked{% endif %}>
|
| 17 |
+
<label for="{{ genre }}">{{ genre.title() }}</label><br>
|
| 18 |
+
{% endfor %}
|
| 19 |
+
|
| 20 |
+
<br><button type="submit">Salvar preferências</button>
|
| 21 |
+
</form>
|
| 22 |
+
</body>
|
| 23 |
+
</html>
|