python flask项目开发入门+打包+sqlite(所有问题汇总)

1.新建目录结构

如下图所示,其中src是其他代码(可无),static是静态资源,template是html文件。
项目目录结构

2.创建route.py(路由文件)

关键知识点:
1. template_folder 参数是html文件的文件夹,static_folder 参数是静态资源文件的目录。如果不打包成单独的exe文件,都是相对app目录。如果打包成单独exe,资源文件的位置会发生改变(在windows的temp目录),需要用 resource_path_convert 函数获取真实的路径(C:/xxx/xxx),也可以写成绝对路径。
2. render_template 可以返回一个页面。
3. jsonify 将对象转为json格式发送给前端。
4. send_from_directory 将路径转为磁盘路径发送给前端
from flask import Flask, render_template, request, send_from_directory, jsonify

# 开发环境或不将资源文件打包成单独exe时
app = Flask(__name__,template_folder='template',static_folder='static',static_url_path='/static')

# 打包成单独exe后资源文件的位置会改变,配合resource_path_convert函数获取真实路径
#def resource_path_convert(relative_path):
#    if getattr(sys, 'frozen', False):
#        base_path = sys._MEIPASS
#    else:
#        base_path = os.path.abspath(".")
#    return os.path.join(base_path, relative_path)
#app = Flask(__name__,
#            template_folder=resource_path_convert('template'),
#            static_folder=resource_path_convert('static'),
#            static_url_path='/static')


# 返回页面
@app.route('/')
def index():
    return render_template("index.html")


# 返回数据,methods可以省略
@app.route('/test',methods=['GET', 'POST'])
def test():
    # 获取请求参数
    test = request.args.get("test")
    # return "收到" + test
    return jsonify({
        "success": True,
        "data": test
    })

# 访问磁盘文件
@app.route('/file/<path:filename>')
def custom_static(filename):
    return send_from_directory('D:\\test\\', filename)    


# 不显示access日志
import logging
log = logging.getLogger('werkzeug')
log.setLevel(logging.WARNING)

if __name__ == '__main__':
    app.run(
        port=5000,
        debug=False
    )

3.html引入资源文件相对static目录就可以,其他引入类似:

<script src="static/layer/layer.js"></script>

4.访问磁盘文件,

<img src="/file/test.png" />

5.自动打开浏览器

import webbrowser
webbrowser.open("http://127.0.0.1:5000")

6.局域网的其他设备访问项目

Run->Edit Confugurations,然后修改 Environment variables 为
–host=0.0.0.0
然后将main函数改为:

def get_ip_address():
    return [item[4][0] for item in socket.getaddrinfo(socket.gethostname(), None) if ':' not in item[4][0]][0]

if __name__ == '__main__':
port = 5000
url = "http://{0}:{1}".format(get_ip_address(), port)
print("其他设备通过"+url+"访问")
app.run(host='0.0.0.0', port=port, debug=False)

与之前不同的是多了一个host参数,如果仅本地调试可以省略或者127.0.0.1。如果写了 0.0.0.0,就必须修改 Environment variables,否则无法访问。修改后,局域网内的其他设备就可以通过ip冒号加端口形式访问。

7.打包

请看我的另一个文章https://blog.csdn.net/qq_46269068/article/details/108376581

8.整合最小数据库sqlite

请看我的另一个文章https://blog.csdn.net/qq_46269068/article/details/108377309

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python Flask是一种轻量级的Web框架,它可以帮助开发者快速构建Web应用程序。本书《Python Flask Web开发入门项目实战》介绍了Flask的基础知识和实践技巧,包括路由、模板、表单、数据库、认证、部署等方面。此外,本书还提供了多个实战项目,如博客、电子商务、社交网络等,帮助读者深入理解Flask的应用场景和开发流程。对于想要学习Python Flask开发者来说,这是一本非常实用的入门指南。 ### 回答2: Python Flask是一种基于Python语言的轻量级Web框架,它具有易学易用、灵活、可扩展性强、速度快等特点,因此在Web开发领域有着广泛的应用。Python Flask提供了许多简单易用的工具和方法,使得开发者能够轻松地构建Web应用程序。本文旨在介绍Python Flask的基础知识和实践项目,帮助初学者快速上手并实现简单的Web应用程序。 Python Flask Web开发入门: 1. Flask的安装与使用:首先需要安装Python Flask库,可以使用pip安装,安装完成后即可使用Flask构建Web应用。 2. Flask路由和视图函数:Flask路由是URL到视图函数的映射,基于路由可以添加多个视图函数,以实现不同的功能。Flask的视图函数是一个Python函数,它处理来自Web客户端的请求,并返回响应结果。 3. Flask模板和静态文件:Flask支持使用模板引擎来构建Web页面,通常使用Jinja2模板引擎。另外,Flask还支持使用静态文件,如CSS、JavaScript和图片等,以优化Web页面的展示效果。 4. Flask表单:Flask支持使用表单来接收来自Web客户端的数据,包括GET和POST请求。开发者可以使用Flask-WTF库来实现表单验证和数据的处理。 Python Flask Web开发项目实战: 1. 论坛网站:使用Flask实现一个简单的论坛网站,包括用户注册、登录、发帖和评论等功能。前端可以使用Bootstrap框架。 2. 个人博客:使用Flask和SQLAlchemy实现一个个人博客网站,包括文章展示、评论、分类和标签等功能。 3. 电子商务网站:使用FlaskFlask-RESTful实现一个电子商务网站,包括商品展示、购物车、订单和支付等功能。前端可以使用React框架。 总之,Python Flask是一个功能强大而易用的Web框架,对于Web开发初学者来说,学习和掌握它是非常重要的。在实践项目中,不断地提升自己的实战经验,才能更好地掌握Python Flask的使用和应用。 ### 回答3: Python Flask是一种轻量级的Web应用程序框架,其用途是帮助Web开发人员更轻松地构建Web应用程序。如果您想学习Python Flask Web开发,以下是一些重要方面: 首先,需要了解Python Flask的基本概念和架构,以及如何安装、配置和运行Flask应用程序。可以在官方网站或在线学习网站上学习这些内容。 其次,需要学习Python Flask的路由(routing)功能,了解如何为不同的URL路径配置不同的代码处理程序,以及如何从请求对象(request object)中获取并处理相关数据。 进一步,需要了解Python Flask的框架能够支持各种Web表单,需要掌握如何使用Flask的表单功能和模板引擎,以及如何渲染HTML页面以及处理表单数据。 另外,还需要熟悉处理静态文件的方法和技术,例如CSS、JavaScript和图像等。 最后,要通过实际项目来练习和巩固所学知识。可以使用Python Flask构建博客、社交媒体平台或电子商务网站等应用程序。 需要注意的是,要成为一名成功的Python Flask Web开发人员,需要在学习过程中不断提升自己的编码技能以及学习新技术。同时,也需要具备良好的沟通能力和团队协作能力,以配合其他开发者共同完成项目的构建。 总之,学习Python Flask Web开发需要投入充足的时间和精力,逐步掌握语言、框架和技术,并通过实践来提高自己的技能和能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值