flask 專案中使用 bootstrapFileInput(構建篇)
bootstrap 為 flask 使用人員提供了一個非常優美且有效的前端頁面元件,但是完美之處還存在些許缺陷,比如檔案的上傳功能.而 bootstrap-fileinput 是基於 bootstrap 的控制元件,非常完美的填補了這個空缺.
注意:
本文是基於 bootstrap-fileinput v4.4.2. github 地址:
注意:
本文是主要是以 示例為基礎進行講解.
構建 Flask 專案
目錄結構
專案名稱(本專案名稱為 bootstrapFileInput) |- app # 專案例項 |- lib # 應用庫藍圖, 專案所共用的 css, js, images 等檔案都將放置於此. |- static - __init__.py |- basic # bootstrapFileInput 專案 demo 的 basic 基礎用法庫. |- static |- templates - __init__.py - views.py |- advanced # bootstrapFileInput 專案 demo 的 advanced 基礎用法庫. - ... |- 以此類推 ... |- env # 專案的 python 環境 - ... - config.py # 配置檔案 - manage.py # 基於 flask-script 的啟動檔案 - requirement.txt # 專案依賴庫檔案
構建專案的虛擬應用環境
請參閱 , 不在贅述
安裝依賴庫
啟用虛擬環境
source env/bin/activate
安裝所需軟體
(env)$ pip install flask (env)$ pip install flask-script
建立 app python 包
__init__.py 內容如下:
# -*- coding:utf-8 -*-__author__ = '東方鶚'from flask import Flaskfrom config import configdef create_app(config_name): """ 使用工廠函式初始化程式例項""" app = Flask(__name__) app.config.from_object(config[config_name]) config[config_name].init_app(app=app) # 以下的藍本可以按照自己的需求進行刪加. # 註冊藍本 lib from .lib import lib as lib_blueprint app.register_blueprint(lib_blueprint, url_prefix='/lib') return app
程式碼裡的藍本可以按照自己的實際需求進行刪加.
注意:
藍本沒有和實際專案一致,會報錯!!!
建立放置共享庫的藍圖 lib
app/lib/__init__.py 內容如下:
# -*- coding:utf-8 -*-__author__ = '東方鶚'from flask import Blueprint lib = Blueprint('lib', __name__, static_folder='static')
app/lib/static 資料夾下存放的是共享庫相關檔案,比如 jquery, bootstrap, fileinput 等共享庫所需的 css, js, image 等檔案.
建立專案配置檔案 config.py
# -*- coding:utf-8 -*-__author__ = u'東方鶚'import os import hashlib basedir = os.path.abspath(os.path.dirname(__file__)) class Config(object): SECRET_KEY = os.environ.get('SECRET_KEY') or hashlib.new(name='md5', string='ousi keji hawk@#').hexdigest() UPLOAD_FOLDER = os.path.join(basedir, 'app/lib/static/uploads') MAX_CONTENT_LENGTH = 32 * 1024 * 1024 @staticmethod def init_app(app): pass class DevelopmentConfig(Config): DEBUG = True class TestingConfig(Config): TESTING = True config = { 'development': DevelopmentConfig, 'testing': TestingConfig, 'default': DevelopmentConfig }
建立啟動檔案 manage.py
# -*- coding:utf-8 -*-__author__ = '東方鶚'import osfrom app import create_appfrom flask_script import Manager, Shell app = create_app(os.getenv('FLASK_CONFIG') or 'default') manager = Manager(app=app)def make_shell_context(): return dict(app=app) manager.add_command("shell", Shell(make_context=make_shell_context))@manager.commanddef test(): """ 單元測試 """ import unittest tests = unittest.TestLoader().discover('tests') unittest.TextTestRunner(verbosity=2).run(test=tests)if __name__ == '__main__': manager.run()
啟動專案
(env)$ python manage.py runserver --host 0.0.0.0 --port 5000
沒有報錯,則說明配置成功!!!
本章原始碼下載:
作者:藕絲空間
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2480/viewspace-2804552/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- flask 專案中使用 bootstrapFileInput(進階篇)Flaskboot
- 使用Dockerfile構建django專案DockerDjango
- 使用Maven構建Java專案MavenJava
- 使用gradle構建springboot專案GradleSpring Boot
- 如何使用Webpack工具構建專案Web
- 如何使用Docker構建前端專案Docker前端
- 使用 webpack 構建小程式專案Web
- 在gradle中構建java專案GradleJava
- 使用Dockerfile構建一個django專案DockerDjango
- 使用Vite快速構建前端React專案Vite前端React
- DvaJS構建配置React專案與使用JSReact
- IDEA使用Gradle構建SpringBoot專案工程IdeaGradleSpring Boot
- 使用 happypack 提升 Webpack 專案構建速度APPWeb
- 首次使用ideal構建maven專案webIdeaMavenWeb
- vue-cli構建專案使用 lessVue
- flask-restful 大型專案結構示例FlaskREST
- 如何在 Flask 專案中使用 MQTTFlaskMQQT
- vscode中使用cmake構建c++專案VSCodeC++
- 使用 .NET CLI 構建專案腳手架
- 使用webpack構建一個專案 (更新ing)Web
- 使用 Webpack 的 DllPlugin 提升專案構建速度WebPlugin
- 使用Flask-Avatars在Flask專案裡設定頭像Flask
- flask 專案拆分Flask
- 使用distillery 構建專業的 phoenix 專案軟體包
- dockerfile構建flask環境DockerFlask
- 使用 flask 構建我的 wooyun 漏洞知識庫Flask
- CMAKE 《window構建專案》
- JAVA專案映象構建Java
- Maven 構建 Java 專案MavenJava
- Gradle構建SpringBoot專案GradleSpring Boot
- webpack快速構建專案Web
- Gradle之多專案構建Gradle
- Flask 專案中解決csrf攻擊Flask
- 使用vue構建一個自動建站專案Vue
- 使用cordova構建基於vue的Android專案VueAndroid
- Laravel 專案:使用 TDD 構建論壇 Chapter 15LaravelAPT
- Laravel 專案:使用 TDD 構建論壇 Chapter 8LaravelAPT
- Laravel 專案:使用 TDD 構建論壇 Chapter 4LaravelAPT