Example #1
0
 def post(self):
     '''
     添加
     '''
     args = parse_form.parse_args()
     name = args.get('name')
     email = args.get('email')
     contact = args.get('contact')
     info = args.get('info')
     site = args.get('site')
     ip = request.remote_addr
     model_data = Message()
     model_data.name = name
     model_data.email = email
     model_data.contact = contact
     model_data.info = info
     model_data.ip = ip
     model_data.site = site
     if model_data.add():
         data = {'status': RET.OK, 'msg': 'Success', 'data': model_data}
         subject = '您有新的询盘,请注意查收!'
         html_body = '<p>姓名:%s</p>' \
                     '<p>邮箱:%s</p>' \
                     '<p>联系方式:%s</p>' \
                     '<p>留言内容:%s</p>' \
                     '<p>用户来源:%s</p>'% (name, email,contact,info,ip)
         _mail = SendMail(subject=subject, html_body=html_body)
         _mail.send_email()
         return marshal(data, sing_fields)
     abort(RET.BadRequest, msg='error')
Example #2
0
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)