最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • flask框架难吗

    正文概述    2020-10-14   439

    flask框架难吗

    Flask框架难学吗?它和Django哪个更容易一些,这可能是学Python web开发的同学经常问的问题,下面来说一下flask框架。

    Flask是python的web框架,最大的特征是轻便,让开发者自由灵活的兼容要开发的feature。

    为什么要从Flask开始学习web框架?

    1.python语言的灵活性给予了Flask同样的特征;

    2.无论是用户画像还是产品推荐,python相比其他语言都有极大的优势;

    3.Flask轻便,容易上手,试错成本低。

    所以,从搭建一个轻便的博客出发,既要容易上手实现,又要能够在后期扩展用户画像和产品推荐,我选择Flask作为web框架。

    Flask上手前提少,能够极大帮助初学者快速理解web开发,这也是我喜欢Flask的原因。

    (1)面向对象编程(Object-Oriented Programming, OOP)

    相信绝大多数人都接触过OOP,比如使用Java, Python, Go等。在Flask中,涉及基础OOP的概念,包括对象、类、继承、封装等。

    (2)python基础

    Flask中涉及简单python概念,包括模块、包、装饰器、模块等。

    (3)命令行基础

    大部分的开发都绕不开命令行,Flask同样要求基础命令行操作,例如上传服务器、查询文件、修改配置文件等。

    (4)数据库基础

    web开发会产生数据管理的问题,虽然可以使用非数据库的方式搭建静态网页,但从长远来看将,掌握一门基础的数据库工具是很有必要的。比如结构化数据库Mysql, Postgresql,非结构化的MongoDB, Redis等。

    (5)前端基础

    虽然搭建网站主要是后台逻辑编写,但今天越来越多的人在意前台展现,因此Flask除了后台python语言的要求外,还要求掌握基础的html, JavaScript, CSS。

    (6)版本控制(增强)

    版本控制是所有程序开发的基础,了解基础的版本控制可以大大提高开发的效率。掌握基础的git技能会提高Flask网站开发速度。

    安装

    使用virtualenv或者python3.3以上的pyvenv建立虚拟环境来配置开发环境。
    可以通过pip方便的配置flask:

    $ pip install flask

    初始化(Initialization)

    (1)创建flask实例对象

    flask程序必须创建一个程序实例,常用方法:

    from flask import Flask
    app = Flask(__name__)

    这里的app就是一个程序实例,客户端(一般是浏览器)将请求发送给服务端Web服务器,Web服务器再把请求发给Flask实例。
    (2)构建实例对象从URL到python函数的映射关系
    程序实例需要知道所有URL对应的执行代码,所以要有从URL到python函数的映射关系。处理URL到python函数映射关系的程序一般叫做路由(Router)。
    Flask实现中一般通过python装饰器来实现,例如:

    @app.route('/')
    def index():    
        return '<h1>test</h1>'

    上面的程序从程序化实例app开始,构建了根目录'/'的路由,具体实现的程序是index()函数,返回了一段html代码'test'字符串。
    路由所对应的程序称为视图函数(view function),即上面的index()函数。
    (3)启动服务器
    程序实例用run方法来启动服务器,例如:

    if __name__ == '__main__':
        app.run(debug=True, port=8777)

    上面的程序是常见套路,当前python文件被执行的时候,运行flask实例化对象的run方法,启动服务器,同时上面程序设定了两个常用参数:debug为True,端口是8777,避免和其他应用的端口冲突。
    (4)请求上下文
    Flask使用上下文把一些视图函数的对象变成全局可访问,共有4中模式:

    flask框架难吗

    模板

    业务逻辑和表现逻辑分开,才能开发出易维护的网站,表现逻辑往往放在模板中。

    Flask的模板默认在根目录的templates中,例如:

    from flask import Flask, render_templatefrom datetime import datetime
    
    app = Flask(__name__)@app.route('/<name>')def index(name):
        return render_template('index.html', name=name)    
    if __name__ == '__main__':
        app.run(debug=True, port=8777)

    index.html页面可以独立出来专门处理网站的表现逻辑,例如:

    {% block title %}Main{% endblock %}
    
    {% block page_content %}
    <div class="page-header">
        <h1>Hello World!</h1>
        <h2>Hello, 
            {% if name %}{{ name }}
            {% else %}Stranger{% endif %}!
        </h2>
    </div>
    {% endblock %}

    Flask默认使用Jinjia2进行模板渲染,可以用一些控制语句,例如上面的if else判断。


    起源地下载网 » flask框架难吗

    常见问题FAQ

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

    发表评论

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

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

    联系作者

    请选择支付方式

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