最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 浅谈用Python进行Web开发

    正文概述    2020-07-12   371

    浅谈用Python进行Web开发

    Web开发这样一个大概念,对小白来说,想学也不知道从哪下手。当今Web开发的一大热门语言是Python(最大的当然还是php),而恰好平常用Python也多,从Python入手,学习Web后端开发,也许要容易些。

    1、 WSGI, 即Web Server Gateway Interface

    Web开发有两大基础:

    HTTP协议

    HTML语言

    HTTP协议在Web领域的重要性不必赘述,这样一个重要的概念,如果交给开发者去实现,且不谈编程,单是看懂庞大的协议,就会花掉大量的时间。好在我们意识到,实现协议的工作,显然是可重复利用的。可重复利用的HTTP协议实现,被封装在Python库里,就有了Python进行Web开发最基本的一个库:WSGI(Web Server Gateway Interface)。WSGI为开发者封装了HTTP协议的实现,将网络通信抽象为接收数据报和发送数据报的简单函数。对HTTP协议有基本了解的读者可以看一看下面的例子。

    def application (environ, start_response):
        start_response('200 OK', [('Content-Type', 'text/html')])    
        return '<h1>Hello World!</h1>'

    上面的这个函数就是WSGI规定的函数形式,接收两个参数environ, start_response,返回header和body。从这个例子我们可以看出,WSGI已经对开发者隐藏了HTTP协议的发送、接收过程,而开发者只需要管好自己的Web程序要做的事情,可谓大大便捷了开发人员的工作。

    2 Web框架

    WSGI是重要的Web开发库,使开发者不再被HTTP协议困扰,但仅仅有WSGI还不够,在实际开发中,我们希望有一套Web框架,能为开发者做更多的事情。开发者想要框架能做更多事情,想要框架能够处理不同URL的访问,如对同一ip不同目录的访问;想要框架能够处理不同形式的访问,如GET, POST等。

    这就说到了用Python进行Web开发的利器:Web框架。Web框架提供了Web开发更高层次的抽象,开发者可以把更少的精力花在各种响应的区分上,而把主要的精力用在响应的内容上。以主流的Python-Web框架Flask为例,开发者可以为每种URL,每个访问方式定义单独的函数。下面的代码就是一个简单的Flask框架下的Web程序。

    from flask import Flask
    from flask import request
    
    app = Flask(__name__)
    
    @app.route('/', methods=['GET', 'POST'])
    def home():
        return '<h1>Home</h1>'
    
    @app.route('/signin', methods=['GET'])
    def signin_form():
        return '''<form action="/signin" method="post">
                  <p><input name="username"></p>
                  <p><input name="password" type="password"></p>
                  <p><button type="submit">Sign In</button></p>
                  </form>'''
    
    @app.route('/signin', methods=['POST'])
    def signin():
        # 需要从request对象读取表单内容:
        if request.form['username']=='admin' and request.form['password']=='password':
            return '<h3>Hello, admin!</h3>'
        return '<h3>Bad username or password.</h3>'
    
    if __name__ == '__main__':
        app.run()

    有了这些基本的认识,我们就已经能够用Python进行Web开发了。当然,本文所谈及的,只是用Python进行Web开发最入门的知识,若要深入下去,还有许多东西需要学习,如数据库管理、自定义Web框架等。


    起源地下载网 » 浅谈用Python进行Web开发

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元