flaskizer使bootstrap模板与flask一起“开箱即用”。
flaskerizer的Python项目详细描述
剥皮机
剥皮机是什么?它能解决什么问题?
bootstrap模板是一种快速启动和运行非常动态的网站的方法,但是这些模板通常不能在python web框架flask中"开箱即用",并且在使用flask之前需要一些繁琐的目录构建和链接修改。如果引导模板用于大型多页网站,则尤其如此。
flaskerizer自动化了必要的目录构建和链接创建,使bootstrap模板与flask一起"开箱即用"。flaskerizer还会自动创建必要的文件,其中包含适当的路由和基本的错误处理,以便将引导模板用作flask应用程序。
flaskizer使用一个引导模板,该模板看起来像"开箱即用"的烧瓶:
并将其转换为类似"开箱即用"的瓶子:
依赖关系
烧瓶:0.12.3或更高
使用案例/快速启动
- 从pypi安装flaskizer。 < > >
- 将flaskerizer作为命令行工具运行。 < > >
下载您最喜欢的引导模板。https://startbootstrap.com/,https://bootstrapmade.com/,以及https://colorlib.com/wp/free-bootstrap--templates/如果你还没有,那是个不错的地方。如果flaskier的设计是源代码不可知的,那么您从何处获得信息并不重要。
如果引导模板作为压缩文件下载您需要解压缩引导模板。
打开终端并安装剥皮机:
< > >- 使用自述文件前面部分中指定的参数作为命令行工具运行flaskerizer。 < > >
-i
应始终设置为引导模板的顶层文件夹的完整路径(即首次解压缩引导模板时显示的文件夹)。-t
应始终设置为包含您下载的引导模板的HTML文件的文件夹的完整路径。请注意,可能有多个文件夹包含HTML文件,通常您希望将"templates\u path"值设置为文件夹的路径,其中包含的HTML文件最多。- 运行flaskerizer后,导航到您用
-o
参数指定的目录作为新编写的烧瓶应用程序的目标,清除浏览器缓存,打开终端,然后输入: < > > 通过打开浏览器查看您在端口5000(即http://127.0.0.1:5000)上的本地地址(即http://127.0.0.1:5000/http://0.0.0.0:5000),注意:可能需要输入http://127.0.0.1:5000/index.html/http://0.0.0.0:5000/index.html路由网站主页。注意:您可能需要清除浏览器缓存才能正确查看网站。
对于断开的链接,您可能仍然会得到一些404错误,您可能需要手动修复这些错误,flaskizer尚处于早期开发阶段,尚不完善,但总体而言,不管引导模板的来源如何,它似乎都做得很好。如果出现断开链接错误,最好的做法是向我们提出问题,并指定您正在使用的模板和您正在收到的错误,以便我们可以尝试修复它。你也可以发电子邮件给我,地址是:brett.vanderwerff@gmail.com
< > >完成详细设置和操作示例下的步骤1和3
打开终端并输入:
< > >- 运行flaskerizer后,导航到您用
-o
参数指定的目录,作为新编写的烧瓶应用程序的目标,打开一个终端,然后输入: < > > 输入
$flask run
通过打开浏览器查看您在端口5000(即http://127.0.0.1:5000)上的本地地址(即http://127.0.0.1:5000/http://0.0.0.0:5000),注意:可能需要输入http://127.0.0.1:5000/index.html/http://0.0.0.0:5000/index.html路由网站主页。注意:您可能需要清除浏览器缓存才能正确查看网站。
< > >结构目录()
writeApp()
- 对您希望分配给您的问题发表评论。
- 将flaskier repo分叉到github上。
- 把叉子克隆到机器上。
- 使用git在本地计算机上创建一个新分支,方法是打开一个终端并键入
$git checkout-b xxxx-short_title_of_issue
其中xxx是零填充的问题编号,例如0001。例如:$git checkout-b 0001-http_status_code_issue
对于回购协议中的第一个问题很有用。 - 通过将您的分支推到github并尝试将您的分支与我的主分支合并,立即发出拉取请求。如果您还没有取得任何进展,可以将拉取请求命名为您命名的分支,并在标题中添加"进行中的工作",以便我知道您正在处理它。
- 完成分支后请通知我,我们可以在完成贡献之前一起检查代码:) < > >
- 复制回购协议。
- 导航到顶层目录,打开一个终端,然后输入: < > >
- 有关命令行参数的正确使用,请参阅自述文件中的前几节。 < > >
$pip install flaskerizer
$flaskerizer -i 'Path to the top level folder of the Bootstrap template' -t 'Path to the folder containing the HTML files of the Bootstrap template' -o 'Path of the destination folder for your Flask app'
命令行参数
flaskizer由命令行参数运行。在使用pip安装flaskizer之后,命令行参数前面总是有:
$flaskerizer
必需参数:
<表><广告>可选参数:
<表><广告>详细的设置和操作示例
$pip install flaskerizer
$flaskerizer -i 'Path to the top level folder of the unzipped Bootstrap template' -t 'Path to the folder containing the HTML files of the Bootstrap template' -o 'Path of the destination folder for your Flask app' -S -n my_app
在Linux上:
$python my_app/my_app.py
在Windows上:
$python my_app\my_app.py
在终端中启动新制作的flask应用程序(这可能因环境而异,即有些用户将输入python3而不是python)。
选择大或小烧瓶应用结构(可选)
使用命令行参数-s
,在运行详细设置和操作示例下的步骤1-4之后,创建一个基于小结构模块的Flask应用程序,创建一个包含Flask应用程序对象和所有路由的基本模块:
.
├── {{app-name}}.py # Module with the Flask app and routes
├──static
│ ├── css
│ ├── fonts
│ ├── img
│ └── js
└── templates
通过使用命令行参数-l
可以选择创建一个基于大型结构包的flask应用程序,如flask文档中所述
@http://flask.pocoo.org/docs/1.0/patterns/packages/:
.
├──{{app-name}} # Package folder
│ ├── __init__.py # File containing the Flask app object
│ ├── routes.py # File with the routes
│ ├──static
│ │ ├── css
│ │ ├── fonts
│ │ ├── img
│ │ └── js
│ └── templates
└── setup.py
创建和启动大型结构烧瓶应用程序有点不同,下面是一个示例:
$pip install flaskerizer0
在Windows上:
$pip install flaskerizer1
在Linux上:
$pip install flaskerizer2
工作原理
剥皮机主要有两类:
结构目录类
structure directory类在flaskized_app目录中创建典型的flask项目文件夹结构。这包括创建一个"静态"文件夹,其中包含引导模板中的所有前端文件(css、javascript等)和一个"模板"文件夹,其中包含引导模板中的所有html文件。structuredirectory类以引导模板html文件的完整路径(templates_path)和引导模板的顶级目录(top_level_path)的完整路径作为参数。HTML文件通过显式声明的模板路径从引导模板复制到Flask项目文件夹。structuredirectory类的方法根据扩展名(.js、.css、.img等)在整个引导模板目录树中搜索属于"static"文件夹的任何文件。所有属于烧瓶项目的"static"文件夹的文件都会迁移到那里。structuredirectory类还有一些方法,这些方法可以解析所有迁移的文件,查找引用引导模板的原始文件夹结构的链接,并对其进行修复,以反映烧瓶项目的新结构。 writeApp类 writeApp类的方法会自动编写一个python脚本"app.py",其中包含启动引导模板的flask应用程序所需的指令。这些方法编写import语句,从flask类实例化'app'对象,并编写主循环来运行应用程序。这些方法还检测flask项目的"templates"文件夹中的html文件,并将相应的路由写入这些html文件。如果有任何html文件是以http状态代码命名的,那么这些方法将为该文件生成一个错误处理路由。这假设任何名称中包含http状态代码的html文件都会反映一个错误,这通常是正确的。 我们对初学者很友好。我们喜欢错误报告。 我们目前正在使用pytest来同时运行所有测试。运行 有一氧化碳的人的名单通过完成拉取请求分配给flaskier:贡献指南
作为开发人员运行flaskier
$pip install flaskerizer
3
运行测试
$pip install pytest
,然后在repo的顶级目录中运行$pytest
,以运行测试。贡献者:
推荐PyPI第三方库