当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

Flask-Scaffold

授权协议 MIT License
开发语言 Python
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 不详
投 递 者 左康安
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Flask-Scaffold 2.0 let's you Prototype Database Driven Web Apps (Angular 6, Bootstrap 4) and REST API's (Flask python framework),

Features include

  • Python 3 Support
  • RESTFUL JSON API
  • Continous Integration with Travis-CI
  • Inbuilt User Management and Admin Dashboard
  • Google Analytics
  • Datatables support

###Demo Sign Up and Login

###Installation

Please ensure that development libraries for PostgreSQL are installedalong with NPM.

####Step 1:Clone the project to your application folder.

git clone git@github.com:Leo-g/Flask-Scaffold.git YourAppFolderName && cd YourAppFolderName

####Step 2: Install the requirements and add your Database configuration details.

pip install -r requirements.txt
cd app/templates/static
npm install

vim config.py
#Fill in your database username, password, name, host etc

Step 3 : Declare your Resource and it's fields in a YAML file as follows

For a list of supported fields please see https://github.com/Leo-g/Flask-Scaffold/wiki/Fields

vim scaffold/blog.yaml
posts:
 - title:string
 - body:text
 - author:string
 - creation_date:datetime
 - published:boolean
comments:
 - author:string
 - body:text
 - author_url:url
 - created_on:date
 - approved:boolean
authors:
 - name:string
 - profile:text
 - url:url

Step 4 : Run the Scaffolding and database migrations script

python scaffold.py scaffold/blog.yaml
python db.py db init
python db.py db migrate
python db.py db upgrade

Step 5 : Run the Server

python run.py

**You should be able to see the Login Page at http://localhost:5000, Sign Up and Login

####For unit testing with python Unit tests

For a Single module

python app/<module_name>/test_<module_name>.py

For all modules

bash tests.bash

###API

API calls can be made to the following URL

Note: This example is for a Post module

HTTP Method URL Results
GET http://localhost:5000/api/v1/posts.json Returns a list of all Posts
POST http://localhost:5000/api/v1/posts.json Creates a New Post
GET http://localhost:5000/api/v1/posts/1.json Returns details for the a single Post
PATCH http://localhost:5000/api/v1/posts/1.json Update a Post
DELETE http://localhost:8001/api/v1/posts/1.json Delete a Post

The JSON format follows the spec at jsonapi.org and a sample is available in the sample.json file

###Directory StructureProject-Folder|-- config.py|--run.py|--requirements.txt|--conf.js|__ /venv|-- db.py|__ /scaffold|-- scaffold.py|-- tests.bash #Tests for all modules|__ app/|-- init.py+-- module-1|-- init.py|-- models.py|-- test_module-1.py # Unit Tests for module 1|-- views.py  +-- module-2|-- init.py|-- models.py|-- test_module-2.py # Unit Tests for module 2|-- views.py|__ templates+-- static+ -- js|-- app.js|-- login.js|-- css|-- images+-- module-1   |-- _form.html   |-- index.html   |-- add.html   |-- update.html|-- controller.js|--conf.js|--spec.js   +-- module-2   |-- _form.html   |-- index.html   |-- add.html   |-- update.html|-- controller.js|-- conf.js|-- spec.js

Google Analytics

Add your tracking ID and Domain name in app.js in the app.config section

  app.config(function (AnalyticsProvider) {
              // Set a single account
              AnalyticsProvider.setAccount('UA-XXXXX-xx');
              AnalyticsProvider.setDomainName('XXX');

   });

For complete Documentation see the wiki

Note: This app in based on https://github.com/start-angular/SB-Admin-BS4-Angular-6

  • can_create = True    是否可以创建 can_edit = True    是否可以编辑 can_delete = True    是否可以删除 list_template = ‘admin/model/list.html‘    修改显示该模型的html模板 edit_template = ‘admin/model/edit.html‘    修改编辑该模型的html模板 cr

  • 转自:https://www.cnblogs.com/feifeifeisir/p/12858412.html can_create = True 是否可以创建 can_edit = True 是否可以编辑 can_delete = True 是否可以删除 list_template = ‘admin/model/list.html’ 修改显示该模型的html模板 edit_template =

  • Model View字段介绍 can_create = True 是否可以创建 can_edit = True 是否可以编辑 can_delete = True 是否可以删除 list_template = 'admin/model/list.html' 修改显示该模型的html模板 edit_template = 'admin/model/edit.html'

  • 我想在模型视图中添加金额(自定义字段)的过滤器 class FarmerAdmin(ModelView): column_descriptions = dict(amount = "All Transactions Total (Rs.)") column_searchable_list = ('name','village','phone') column_editable_list = ('p

  • Scaffold a Flask Project - Real Python

  • flask_admin model官方文档https://flask-admin.readthedocs.io/en/latest/_modules/flask_admin/model/base/#BaseModelView.get_filter_arg学习 文档地址:http://www.minzhulou.com/docs/flask-admin/api/mod_model.html mode

  • 配置的时候总共遇到了三个bug 1.ImportError: cannot import name ‘cached_property‘ from ‘werkzeug‘         解决后弹出第二个 2.ImportError: cannot import name ‘_endpoint_from_view_func‘         然后是第三个 3.“ImportError cannot i

  • 高级功能 1,开启CSRF保护 要将CSRF保护添加到由ModelView实例生成的表单中,请通过指定form_base_class参数在ModelView子类中使用SecureForm类: from flask_admin.form import SecureForm from flask_admin.contrib.sqla import ModelView class CarAdmin(

 相关资料
  • 问题内容: 在官方的快速入门中,建议在使用单个 模块 时使用: 2. …如果您使用的是单个模块(如本例所示),则应使用,因为取决于它是作为应用程序启动还是作为模块导入,其名称将有所不同(与实际导入名称不同)。… 但是,在他们的API文档中,当我的应用程序为 软件包 时,建议进行硬编码: 因此,您在此处提供的内容很重要。如果使用单个模块,则始终为正确的值。但是,如果您使用的是包,通常建议在其中硬编码

  • 在前面,我们介绍了 REST Web 服务,并使用 Flask 提供服务。这里,我们使用第三方库 Flask-RESTful,它使得在 Flask 中提供 REST 服务变得更加简单。 安装 使用 pip 安装: $ pip install flask-restful 使用 下面我们主要使用官方文档的例子进行说明。 Hello World 我们先来看一个简单的例子。 # -*- coding: u

  • Bootstrap 是 Twitter 开源的一个 CSS/HTML 框架,它让 Web 开发变得更加迅速,简单。要想在我们的 Flask 应用中使用 Boostrap,有两种方案可供选择: 第 1 种,在我们的 Jinja 模板中直接引入 Bootstrap 层叠样式表 (CSS) 和 JavaScript 文件,比如 bootstrap.min.css,bootstrap.min.js; 第

  • 在 Web 应用中,我们经常需要保护我们的 api,以避免非法访问。比如,只允许登录成功的用户发表评论等。Flask-HTTPAuth 扩展可以很好地对 HTTP 的请求进行认证,不依赖于 Cookie 和 Session。本文主要介绍两种认证的方式:基于密码和基于令牌 (token)。 安装 使用 pip 安装: $ pip install Flask-HTTPAuth 基于密码的认证 为了简化

  • 假设你的 Web 服务对于某些请求比较耗时,而该请求的返回结果在较短的时间内(比如 5 分钟内)都是足够有效的,这时你能想到什么方法去改善这种状况呢?缓存?对,至少这是一种提高性能的最简单的方法。 Flask 本身不提供缓存功能,但是作为 Flask 核心的 Werkzeug 框架则提供了一个简单的缓存对象 SimpleCache,它将缓存项存放在 Python 解释器的内存中。使用 Simple

  • MongoDB 是一个文档型数据库,是 NoSQL (not only SQL) 的一种,具有灵活、易扩展等诸多优点,受到许多开发者的青睐。MongoEngine 是一个用来操作 MongoDB 的 ORM 框架,如果你不知道什么是 ORM,可以参考 Flask-SQLAlchemy 一节。在 Flask 中,我们可以直接使用 MongoEngine,也可使用 Flask-MongoEngine