LightTai commited on
Commit
6c5b1c7
·
1 Parent(s): 80c8215

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +55 -20
app.py CHANGED
@@ -1,19 +1,21 @@
1
  import streamlit as st
 
 
2
 
3
  # 添加标题
4
- st.title('调查问卷')
5
 
6
  # 添加问题和选项
7
- question_1 = st.text_input('问题 1:')
8
- option_1_1 = st.checkbox('选项 1', key='question_1_option_1')
9
- option_1_2 = st.checkbox('选项 2', key='question_1_option_2')
10
 
11
- question_2 = st.text_input('问题 2:')
12
- option_2_1 = st.checkbox('选项 1', key='question_2_option_1')
13
- option_2_2 = st.checkbox('选项 2', key='question_2_option_2')
14
 
15
  # 显示提交按钮
16
- submit_button = st.button('提交')
17
 
18
  # 创建一个字典来存储用户答案
19
  user_answers = {}
@@ -21,14 +23,14 @@ user_answers = {}
21
  # 处理提交按钮的点击事件
22
  if submit_button:
23
  # 存储用户的答案
24
- user_answers['问题 1'] = {
25
- '选项 1': option_1_1,
26
- '选项 2': option_1_2
27
  }
28
 
29
- user_answers['问题 2'] = {
30
- '选项 1': option_2_1,
31
- '选项 2': option_2_2
32
  }
33
 
34
  # 打印用户的答案
@@ -39,10 +41,43 @@ if submit_button:
39
  if value:
40
  st.write(f'- {option}')
41
 
42
- # 将用户的选择写入文件
43
- with open('user_data.txt', 'a') as file:
44
- file.write(f'Question: {question}\n')
45
- file.write(f'Option: {options}\n\n')
46
-
47
  # 显示感谢信息或其他处理
48
- st.write('谢谢参与调查!')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
+ import smtplib
3
+ from email.mime.text import MIMEText
4
 
5
  # 添加标题
6
+ st.title('User Study')
7
 
8
  # 添加问题和选项
9
+ question_1 = st.text_input('question 1:')
10
+ option_1_1 = st.checkbox('option 1', key='question_1_option_1')
11
+ option_1_2 = st.checkbox('option 2', key='question_1_option_2')
12
 
13
+ question_2 = st.text_input('question 2:')
14
+ option_2_1 = st.checkbox('option 1', key='question_2_option_1')
15
+ option_2_2 = st.checkbox('option 2', key='question_2_option_2')
16
 
17
  # 显示提交按钮
18
+ submit_button = st.button('submit')
19
 
20
  # 创建一个字典来存储用户答案
21
  user_answers = {}
 
23
  # 处理提交按钮的点击事件
24
  if submit_button:
25
  # 存储用户的答案
26
+ user_answers['question 1'] = {
27
+ 'option 1': option_1_1,
28
+ 'option 2': option_1_2
29
  }
30
 
31
+ user_answers['question 2'] = {
32
+ 'option 1': option_2_1,
33
+ 'option 2': option_2_2
34
  }
35
 
36
  # 打印用户的答案
 
41
  if value:
42
  st.write(f'- {option}')
43
 
 
 
 
 
 
44
  # 显示感谢信息或其他处理
45
+ # 发送邮件
46
+ send_email(user_data)
47
+ st.write('谢谢参与调查!')
48
+
49
+
50
+
51
+ def send_email(user_data):
52
+ # 邮件配置
53
+ sender_email = 'BachelorThesisT@outlook.com'
54
+ receiver_email = 'taijunzhe@gmail.com'
55
+ subject = '用户数据'
56
+ message = format_user_data(user_data)
57
+
58
+ # 创建 MIMEText 对象
59
+ msg = MIMEText(message)
60
+ msg['Subject'] = subject
61
+ msg['From'] = sender_email
62
+ msg['To'] = receiver_email
63
+
64
+ # 发送邮件
65
+ try:
66
+ with smtplib.SMTP('smtp.office365.com', 587) as smtp:
67
+ smtp.starttls()
68
+ smtp.login('BachelorThesisT@outlook.com', '1111122222t')
69
+ smtp.send_message(msg)
70
+ print('邮件发送成功')
71
+ except smtplib.SMTPException as e:
72
+ print('邮件发送失败:', str(e))
73
+
74
+ def format_user_data(user_data):
75
+ # 格式化用户数据为邮件内容
76
+ formatted_data = ''
77
+ for key, value in user_data.items():
78
+ formatted_data += f'{key}: {value}\n'
79
+ return formatted_data
80
+
81
+ # 模拟用户数据
82
+ user_data = user_answers
83
+