def test_update_message(self): m = Message() m.content = 'test' m.add_or_update() m = Message.find_by_id(m.id) m.content = 'test updated' m.add_or_update() m = Message.find_by_id(m.id) print(m.date_created) print(m.date_modified) self.assertEqual(m.content, 'test updated') self.assertEqual(m.id, 1)
def test_get_message(self): m = Message() m.content = 'test' m.add_or_update() m = Message.find_by_id(m.id) self.assertEqual(m.content, 'test') self.assertEqual(m.id, 1)
def create_message(jobID, fromUserID, toUserID): form = MessageForm() j = Job.query.filter(Job.id == jobID).first() if request.method == 'POST' and form.validate_on_submit(): m = Message() m.content = form.content.data m.fromUserID = fromUserID m.toUserID = toUserID m.jobTitle = j.title m.jobID = j.id db.session.add(m) db.session.commit() flash('Message Sent!', category='success') return redirect( url_for('users.home', username=current_user.username, post_page=1, hired_page=1, history_page=1)) else: return render_template('create_message.html', form=form, title="Message", user=current_user, job=j)
def test_to_json(self): m = Message() m.content = 'test' m.add_or_update() schema = MessageResponseSchema() m_json = schema.dump(m) expected_keys = ['id', 'content', 'palindrome', 'date_created', 'date_modified'] self.assertEqual(sorted(m_json.keys()), sorted(expected_keys))
def create_message(from_user_id, to_user_id, content): message = Message() message.from_user_id = from_user_id message.receive_user_id = to_user_id message.date = datetime.now() message.content = content status = EnumValues.find_one_by_code(const.MESSAGE_STATUS_UNREAD) message.status_id = status.id return message
def test_delete_message(self): m = Message() m.content = 'test' m.add_or_update() m = Message.find_by_id(m.id) m.delete() m = Message.find_by_id(m.id) self.assertIsNone(m)
def test_create_message(self): m = Message() m.content = 'test' m.add_or_update() self.assertTrue( (datetime.utcnow() - m.date_created).total_seconds() < 3) self.assertTrue( (datetime.utcnow() - m.date_modified).total_seconds() < 3) self.assertEqual(m.content, 'test') self.assertEqual(m.id, 1)
def add_message(request): """ 把留言保存到数据库 :param request: :return:返回响应Response """ # 思考:如何知道request是GET还是POST? # - request是不是对象? 是 # - request有什么属性和方法? dir(request) # print(dir(request)) # print(request.method) # browser --获得(GET)留言表单---> server # browser <---把留言表返回给浏览器--- server # browser ----把填好的表单提交(POST)给server---> server # ..... server 开始保存数据到数据库 # browser < ------成功或失败的信息返回给浏览器---server # 如果是GET请求,把留言表单发给用户,让用户填写留言信息 if request.method == 'GET': return render(request, template_name='msg2.html') # 如果是POST请求,从请求request中获取提交的内容 if request.method == 'POST': # print(request.POST) c = {'msg': '提交成功!'} # 思考:如果获得提交的数据? message = request.POST print(message['name']) name = message.get('name', None) # gavin '' None False if not name: # 如果name没有值 c['name_error'] = "用户名不能为空!" email = message.get('email') address = message.get('address') content = message.get('message') print(name, email, address) # 思考:如何保存? # - 首先用Message类创建一个对象 # 方法一: msg = Message(name=name, email=email, address=address, content=content) # 方法二: msg = Message() msg.name = name msg.email = email msg.address = address msg.content = content # - 然后,调用对象的保存方法来保存数据 print(dir(msg)) msg.save() # insert into *** return render(request, template_name='msg2.html', context=c)