from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import random import copy import math import smtplib from email.mime.text import MIMEText from email.header import Header def sendMessage(content,subject): mailhost='smtp.qq.com' #把qq邮箱的服务器地址赋值到变量mailhost上 qqmail = smtplib.SMTP() #实例化一个smtplib模块里的SMTP类的对象,这样就可以SMTP对象的方法和属性了 qqmail.connect(mailhost,25) #连接服务器,第一个参数是服务器地址,第二个参数是SMTP端口号。 #以上,皆为连接服务器的代码 account = '786609202@qq.com' #获取邮箱账号 password = 'zejnwbrnoadhbbie' #获取邮箱密码 qqmail.login(account,password) #登录邮箱,第一个参数为邮箱账号,第二个参数为邮箱密码 receiver='786609202@qq.com' message = MIMEText(content, 'plain', 'utf-8') message['Subject'] = Header(subject, 'utf-8') qqmail.sendmail(account, receiver, message.as_string()) qqmail.quit() products = [ { "picUrl" : "https://gd3.alicdn.com/imgextra/i3/2964762822/O1CN011WiWAdhtoggnFrT_!!2964762822.jpg", "title":"甘源牌青豆青豌豆原味", "price" : "1.70", "type" : "1", "id" : 1, "short" : 0 }, { "picUrl" : "/static/img/liulian.png", "title":"爱吃堡细沙榴莲饼", "price" : "1.70", "type" : "1", "id" : 2, "short" : 1 }, { "picUrl" : "/static/img/caomei.png", "title":"爱吃堡细沙草莓饼", "price" : "1.60", "type" : "1", "id" : 3, "short" : 1 }, { "picUrl" : "/static/img/xiantao.png", "title":"宏明鲜蛋原味桃酥", "price" : "1.60", "type" : "1", "id" : 4, "short" : 1 }, { "picUrl" : "https://img.alicdn.com/imgextra/i1/2127780240/O1CN01nopmDe1DdxfxC9TUd_!!2127780240.jpg", "title":"宏明曲格酥榴莲味", "price" : "1.60", "type" : "1", "id" : 11, "short" : 1 }, { "picUrl" : "https://img.alicdn.com/imgextra/i1/2127780240/O1CN01B7n8Pp1DdxfxC804w_!!2127780240.jpg", "title":"宏明曲格酥海盐芝士味", "price" : "1.60", "type" : "1", "id" : 12, "short" : 1 }, { "picUrl" : "https://img.alicdn.com/imgextra/i2/2127780240/O1CN01iN6vRh1DdxfqFKbv0_!!2127780240.jpg", "title":"宏明曲格酥咸蛋黄味", "price" : "1.60", "type" : "1", "id" : 13, "short" : 1 }, ] class Shop(Page): form_model = 'player' form_fields = ["selectedId1"] def vars_for_template(self): pros = copy.deepcopy(products) return dict( products = pros ) def js_vars(self): pros = copy.copy(products) return dict( products = pros ) # def before_next_page(self): # id = self.player.id_in_group # content = str(id)+ "试用" + str(self.player.selectedId1) # subject = content # sendMessage(content,subject) class Review(Page): form_model = 'player' form_fields = ["starNum1","comment1"] def vars_for_template(self): id = self.player.selectedId1 choosenProduct = {} for item in products: if id == item["id"]: choosenProduct = item return dict( item = choosenProduct ) class Survey(Page): form_model = 'player' form_fields = ["PQU1","PQU2","PQU3","PQU4","PFU1","PFU2","PFU3","PFU4",'PFU5',"PF1","PF2","S1","S2","EC1","EC2","EC3"] class Shop2(Page): form_model = 'player' form_fields = ["selectedId2"] def vars_for_template(self): pros = copy.deepcopy(products) res = [] for item in pros: if item["id"] > 10: item["short"] = 0 res.append(item) else: item["short"] = 1 res.append(item) return dict( products = res ) def js_vars(self): return dict( products = products ) class Review2(Page): form_model = 'player' form_fields = ["starNum2","comment2"] def vars_for_template(self): id = self.player.selectedId2 choosenProduct = {} for item in products: if id == item["id"]: choosenProduct = item return dict( item = choosenProduct ) class Survey2(Page): form_model = 'player' form_fields = ["PQU1_2","PQU2_2","PQU3_2","PQU4_2","PFU1_2","PFU2_2","PFU3_2","PFU4_2","PFU5_2","PF1_2","PF2_2","S1_2","S2_2","EC1_2","EC2_2","EC3_2",'MSQ2','MSQ4',"RP11_2","RP12_2","RP13_2","RP14_2","RP21_2","RP22_2","RP23_2","RP24_2"] class Testing(Page): pass class Testing2(Page): pass class ResultsWaitPage(WaitPage): pass class Results(Page): pass page_sequence = [Shop,Testing,Review,Survey,Shop2,Testing2,Review2,Survey2]