以服务于中国广大创业者为己任,立志于做最好的创业网站。

标签云创业博客联系我们

导航菜单

prd文档必备模板,产品小白prd文档入门实例

  

  #前言   

  

  前几天在项目开发过程中,发现用Flask写一些轻量级的Web程序是合适的。事实上,在Flask系列中,为了更方便地开发Restful风格的接口,Flask-   

  

  Restful是个不错的选择。虽然Flask-restful提供了完整的官方文档,但是开发在线项目还是不太方便,所以我写了一个Flask-   

  

  restful的快速模板。   

  

  本项目采用Mysql作为持久层数据库,实现一个资源的五个接口,满足基本的web开发需求。   

  

  #项目地址   

  

  首先给出项目地址:flag-restful-quick-start。   

  

     

  

  image-20211113211211982.png   

  

  #项目介绍   

  

  #首先是项目的文件结构。   

  

  烧瓶_app 常见 __init__。pyutils . py用户 __init__。py模型. py 视图. py __init__。pyconfig.pylicensemain.py需求   

  

  在项目中,使用蓝图划分功能块,方便了项目模块的划分,提高了可维护性。   

  

  目前我认为这是一个比较科学的文档组织方案。   

  

  # Restful界面设计   

  

  的基本接口从两条路由接收。   

  

  ================================请求方法路由请求内容post/user list user info get/user list none get/user useridput/user usersinfodelete/user userid=   

  

  简单的介绍就是添加资源,从资源列表界面查询所有资源。   

  

  其他区域参数的请求、修改和删除来自特殊资源接口。   

  

  通过这种方式,可以避免获取带参数和不带参数的请求的问题。   

  

  #项目中的统一处理可以提高可靠性,减少编码错误。这里我统一了两点。   

  

  1.Sqlalchemy的模型层对象和dict之间的转换。   

  

  第2行dict(行): ' ' '参考文档https://stackoverflow.com/questions/1958219/Convert-sqlalchemy-row-object-to-python-dict将模型转换为dict:参数行: sqlalchemy模型:返回3360输出字典' ' out_dict={}用于第行的列。_ _ table _ _ _ . columns 3360 out_dict[column.name]=str(getattr(row,column . name))返回out _ dict   

  

  有了上面的代码,模型可以很容易地转换成dict的字典。   

  

  2.统一回复内容   

  

  class base response : def _ _ init _ _(self): self . result _ code _ success=200 self . result _ code _ fail=201 def success(self,msg='success ',data={ }): result={ ' code ' : self . result _ code _ success,' message': msg,' data ' 3: data } return jsonify(result)def fail(self,msg='fail ',data={ })333366   

  

  统一回复内容包括“成功”和“失败”,回复代码和内容可以自定义。   

  

  #启动项目   

  

  #安装   

  

  先克隆这个项目。   

  

  $ git clone git @ github.com : jarrettlo/flask-restful-quick-start . git CD flask-restful-quick-start   

  

  建议您使用ide创建一个虚拟环境venv,以避免项目使用的包和系统包之间的不一致。   

  

  $ pip安装要求. txt   

  

  最后,启动项目,开始开发。   

  

  $ python run main.py   

  

  #修改配置   

  

  在项目的init.py中,设置了连接到数据库的各种参数,这些参数需要定制。   

  

  用户=' root '密码=' 123456 '数据库=' flag _ quick' #要修改的内容app . config[' sqlalchemy _ database _ uri ']=' MySQL 3360/% s 3360% s @ localhost 33603306/% s ' %(   

  

  这里使用的是MysqlDB,可以根据实际情况进行修改。   

  

  同时,强烈建议您将这些设置信息放在config.py文件中,以便统一修改。   

  

  在主程序中,防止了数据库初始化方法,并且可以清空和创建数据库。   

  

  Def init_db(): #删除所有表db.drop_all() #创建所有表db.create_all()   

  

  #快速发展   

  

  要添加模块,您只需要复制现有的用户模块,并在以后修改它。   

  

  在flag _ app中注册蓝图。___ init.py。   

  

  从flask_app.user导入user _ blueprintapp.register _蓝图(user _蓝图,url_prefix='/user ')   

  

  将蓝图添加到flag _ app.user. ___ init.py。   

  

  来自flask_app.user导入视图的user _蓝图=蓝图(' user _蓝图',__name__,url_prefix='/user ')   

  

  享受吧.   

  

  #结束   

  

  更多信息请参考Flask_restful官方文件。   

  

  如果您认为以上内容对您有帮助,请喜欢、评论并转发!   

  

  更多信息请参考作者博客:https://jiaruiblog.com。   

  

  或者明星作者github : https://github.com/Jarrettluo?标签=存储库