vioott commited on
Commit
2962f9a
·
1 Parent(s): 7a09325

feat(user-profile): add /perfil route and template to collect user name and preferences

Browse files
Files changed (2) hide show
  1. app.py +16 -0
  2. 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>