佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 打包FlaskAdmin程序時(shí)關(guān)于static路徑問題的解決

打包FlaskAdmin程序時(shí)關(guān)于static路徑問題的解決

熱門標(biāo)簽:鐵路電話系統(tǒng) 銀行業(yè)務(wù) 呼叫中心市場(chǎng)需求 美圖手機(jī) 檢查注冊(cè)表項(xiàng) 網(wǎng)站文章發(fā)布 智能手機(jī) 服務(wù)器配置

1、pyinstaller的使用

網(wǎng)上資料多,此處省略

2、打包時(shí)報(bào)錯(cuò)

1、可能有些包沒有安裝(跑跑程序不缺庫(kù)就行)

2、有些包pyinstaller找不到?

打包時(shí)手動(dòng)添加

--hidden-importMODULENAME,--hiddenimport MODULENAME

3、添加模板和靜態(tài)文件

如果你使用的是flask-admin內(nèi)部的模板,建議將其拷貝到工程對(duì)應(yīng)路徑(若不,打包后手動(dòng)將文件拷貝過(guò)來(lái)也可以)

1、找到Flask-admin包下的templates、static文件(注意:template下有bootstrapX的多個(gè)文件夾,我用的是bootstrap4,字節(jié)將該目錄下的admin放到工程的templates文件夾)

 

2、工程中放置的文件位置是這樣的

3、打包時(shí)添加靜態(tài)文件

用法:

pyinstaller x.py --add-data="源地址;目標(biāo)地址"。

windows以;分割,linux以:分割

--add-data="admin\static;admin\static" ...

添加好后,spec文件中是這樣的,注意,我這里使用了config.py配置文件,也需要作為靜態(tài)文件打包進(jìn)去。

4、運(yùn)行時(shí)找不到static中的樣式文件

這個(gè)問題困擾了我一天,主要原因沒有搞清楚Flask的運(yùn)行原理,F(xiàn)lask-admin用到了Flask的blueprint的東西,這個(gè)東西的作用就是將模塊進(jìn)行隔離,比如,admin可以有自己的路由,自己的static、templates存放的位置,具體沒有深究,反正對(duì)復(fù)雜的網(wǎng)站(功能模塊多)比較有用。

先上代碼:

class myView(admin.BaseView):
    play = PlayBack()
     def __init__(self, name=None, category=None,
                 endpoint=None, url=None,
                 template='admin/index.html',
                 menu_class_name=None,
                 menu_icon_type=None,
                 menu_icon_value=None):
        static_path = os.path.join(os.path.dirname(__file__), 'static')
        print(static_path)
        super(myView, self).__init__(name or admin.babel.lazy_gettext('Home'),
                                             category,
                                             endpoint or 'admin',
                                             '/admin' if url is None else url,
                                             static_path,
                                             menu_class_name=menu_class_name,
                                             menu_icon_type=menu_icon_type,
                                             menu_icon_value=menu_icon_value)
        self._template = template
    ... ...
 admin = admin.Admin(app, name="數(shù)據(jù)庫(kù)管理", template_mode='bootstrap4', index_view=myView())

代碼中,將index_view重新封裝了一下,是因?yàn)槲乙O(shè)置static_folder這個(gè)路徑為當(dāng)前工程中static的路徑,測(cè)試發(fā)現(xiàn),相對(duì)路徑不好使,絕對(duì)路徑好使。

5、再打包,運(yùn)行,功能正常。

以上就是打包FlaskAdmin程序時(shí)關(guān)于static路徑問題的解決的詳細(xì)內(nèi)容,更多關(guān)于打包FlaskAdmin程序static的路徑的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • python flask中靜態(tài)文件的管理方法
  • Python的Flask框架中Flask-Admin庫(kù)的簡(jiǎn)單入門指引
  • Flask的圖形化管理界面搭建框架Flask-Admin的使用教程
  • python flask框架快速入門

標(biāo)簽:長(zhǎng)治 上海 滄州 沈陽(yáng) 河南 紅河 樂山 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《打包FlaskAdmin程序時(shí)關(guān)于static路徑問題的解決》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    玉树县| 新疆| 石景山区| 云浮市| 竹北市| 古蔺县| 陆丰市| 商河县| 门头沟区| 化德县| 玛纳斯县| 图片| 巴里| 西青区| 正安县| 乌兰察布市| 军事| 博爱县| 天等县| 桦甸市| 土默特左旗| 神农架林区| 金塔县| 扎赉特旗| 遂川县| 宝山区| 包头市| 运城市| 临猗县| 福泉市| 桐柏县| 宜丰县| 锡林浩特市| 化德县| 南涧| 丹江口市| 吉林省| 石屏县| 临安市| 南木林县| 江源县|