`

python之bottle框架的get,post请求实例

阅读更多
=======================get请求

# coding=utf-8
'''
Created on 2017年5月9日

@author: chenkai
'''
import bottle

def check_login(username, password):
    if username == 'kaige' and password == '123456':
        return True
    else:
        return False

@bottle.route('/login')
def login():
    if bottle.request.GET.get('do_submit','').strip(): #点击登录按钮
        # 第一种方式(latin1编码)
##        username = bottle.request.GET.get('username','').strip()  # 用户名
##        password = bottle.request.GET.get('password','').strip()  # 密码

        #第二种方式(获取username\password)(latin1编码)
        getValue = bottle.request.query_string
##        username = bottle.request.query['username'] # An utf8 string provisionally decoded as ISO-8859-1 by the server
##        password = bottle.request.query['password'] # 注:ISO-8859-1(即aka latin1编码)
        #第三种方式(获取UTF-8编码)
        username = bottle.request.query.username      # The same string correctly re-encoded as utf8 by bottle
        password = bottle.request.query.password      # The same string correctly re-encoded as utf8 by bottle
       
        if check_login(username, password):
            return "<p>登录成功</p>"
        else:
            return "<p>登陆失败,用户名或者密码错误</p>"
    else:
        return ''' <form action="/login" method="get">
                     Username: <input name="username" type="text" />
                     Password: <input name="password" type="password" />
                     <input value="Login" name="do_submit" type="submit">
                   </form>
                '''

bottle.run(host='localhost', port=8083)

运行这个py程序后,浏览器输入:http://localhost:8083/login , 输入用户名和密码,点击登录







===================================post请求

# coding=utf-8
'''
Created on 2017年5月9日

@author: chenkai
'''
import bottle

def check_login(username, password):
    if username == 'kaige' and password == '123456':
        return True
    else:
        return False

@bottle.route('/login')
def login():
    return ''' <form action="/login" method="post">
                 Username: <input name="username" type="text" />
                 Password: <input name="password" type="password" />
                 <input value="Login" type="submit">
               </form>
            '''

@bottle.route('/login', method='POST')
def do_login():
    # 第一种方式
#   username = request.forms.get('username')
#   password = request.forms.get('password')

    #第二种方式
    postValue = bottle.request.POST.decode('utf-8')
    username = bottle.request.POST.get('username')
    password = bottle.request.POST.get('password')

   
    if check_login(username, password):
        return "<p> 登录成功</p>"
    else:
        return "<p> 登录失败 </p>"

bottle.run(host='localhost', port=8083)


运行这个py程序后,浏览器输入:http://localhost:8083/login , 输入用户名和密码,点击登录,这个明显是post请求, 而且浏览器不会显示参数


分享到:
评论

相关推荐

    python教程之bottle web开发

    ### Python教程之Bottle Web开发 #### Bottle框架简介 Bottle是一个用Python编写的轻量级Web应用框架,因其简洁高效的特点,在小型项目或快速原型开发中被广泛使用。本教程将详细介绍如何使用Bottle框架进行Web...

    Python的Bottle框架的一些使用技巧介绍

    Bottle通过`route`装饰器来定义路由规则,允许我们将HTTP请求方法(如GET、POST等)与特定的处理函数关联。例如: ```python from bottle import route, run @route('/hello/:name') def hello(name): return '...

    bottle-master.zip

    《深入解析Bottle框架:构建高效微型Web应用》 Bottle框架是一款轻量级的Python Web框架,以其简洁、...通过深入理解Bottle的架构和核心功能,开发者可以快速构建出符合需求的Web服务,同时享受到Python的简洁之美。

    Python技术的Web框架与RESTful API开发指南.docx

    ### Python技术的Web框架与RESTful API开发指南 #### Python Web框架概述 随着互联网技术的不断进步和发展,Web应用开发已成为IT行业中一个重要的分支。Python作为一种语法简洁、功能强大且易于学习的语言,在Web...

    QPython用Bottle搭建WebApp的那些烂坑.doc

    Bottle框架的核心特性之一就是它的路由系统,通过`@route`装饰器将URL映射到处理函数。然而,在实际操作中,开发者可能会遇到路由无法识别的情况。例如,尝试添加一个表单登录验证路由: ```python @route('/login'...

    todo-flask-app:使用python和flask框架构建的简单todo应用程序

    1. **Flask基本用法**:如何初始化Flask应用,定义路由,以及如何处理GET和POST请求。 2. **模板引擎**:使用Jinja2(Flask默认的模板引擎)如何创建动态HTML页面。 3. **表单处理**:如何创建HTML表单,以及使用...

    devsoc-hack

    这个项目采用Bottle框架,一个轻量级的Python Web服务器和框架,用于快速开发简单的但功能完整的Web应用。让我们深入探讨这个项目涉及的核心知识点。 1. **Bottle框架**: Bottle是一个微型的、单一文件的Web框架...

Global site tag (gtag.js) - Google Analytics