欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年09月10日 17:34:00   作者:bitQ  
近期寫(xiě)了個(gè)基于Flask-admin的數(shù)據(jù)庫(kù)管理程序,通過(guò)pyinstaller打包,給別人用,經(jīng)過(guò)幾次嘗試,打包的數(shù)據(jù)一直找不到static里面的樣式文件,查閱資料后,最總把問(wèn)題搞定了。寫(xiě)下處理流程,供后來(lái)人參考

1、pyinstaller的使用

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

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

1、可能有些包沒(méi)有安裝(跑跑程序不缺庫(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è)問(wèn)題困擾了我一天,主要原因沒(méi)有搞清楚Flask的運(yùn)行原理,F(xiàn)lask-admin用到了Flask的blueprint的東西,這個(gè)東西的作用就是將模塊進(jìn)行隔離,比如,admin可以有自己的路由,自己的static、templates存放的位置,具體沒(méi)有深究,反正對(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路徑問(wèn)題的解決的詳細(xì)內(nèi)容,更多關(guān)于打包FlaskAdmin程序static的路徑的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python?HMAC模塊維護(hù)數(shù)據(jù)安全技術(shù)實(shí)例探索

    Python?HMAC模塊維護(hù)數(shù)據(jù)安全技術(shù)實(shí)例探索

    本篇博客將帶領(lǐng)讀者深入探索Python中HMAC模塊的高級(jí)應(yīng)用,通過(guò)豐富的示例代碼和詳細(xì)的解釋,揭示HMAC在實(shí)際應(yīng)用場(chǎng)景中的多面光芒,從基礎(chǔ)概念到密碼存儲(chǔ)、文件完整性驗(yàn)證、API安全,再到與加密算法的巧妙結(jié)合
    2024-01-01
  • Sanic框架安裝與簡(jiǎn)單入門(mén)示例

    Sanic框架安裝與簡(jiǎn)單入門(mén)示例

    這篇文章主要介紹了Sanic框架安裝與簡(jiǎn)單用法,結(jié)合實(shí)例形式簡(jiǎn)單分析了Sanic框架的概念、原理、pip命令安裝以及使用方法,需要的朋友可以參考下
    2018-07-07
  • python?request要求接口參數(shù)必須是json數(shù)據(jù)的處理方式

    python?request要求接口參數(shù)必須是json數(shù)據(jù)的處理方式

    這篇文章主要介紹了python?request要求接口參數(shù)必須是json數(shù)據(jù)的處理方式,Reqeusts支持以form表單形式發(fā)送post請(qǐng)求,只需要將請(qǐng)求的參數(shù)構(gòu)造成一個(gè)字典,然后傳給requests.post()的data參數(shù)即可,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-08-08
  • Python列表切片操作實(shí)例總結(jié)

    Python列表切片操作實(shí)例總結(jié)

    這篇文章主要介紹了Python列表切片操作,結(jié)合實(shí)例形式總結(jié)分析了Python列表切片常見(jiàn)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-02-02
  • python中pywebview框架使用方法記錄

    python中pywebview框架使用方法記錄

    Pywebview是一個(gè)用于構(gòu)建網(wǎng)頁(yè)的Python庫(kù),類似于Flask框架,但主要使用Python編寫(xiě)而非HTML或JS,通過(guò)簡(jiǎn)單的命令即可安裝和使用,支持創(chuàng)建自制或調(diào)用外部網(wǎng)頁(yè)界面,需要的朋友可以參考下
    2024-09-09
  • 使用python實(shí)現(xiàn)語(yǔ)音文件的特征提取方法

    使用python實(shí)現(xiàn)語(yǔ)音文件的特征提取方法

    今天小編就為大家分享一篇使用python實(shí)現(xiàn)語(yǔ)音文件的特征提取方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • python_mask_array的用法

    python_mask_array的用法

    今天小編就為大家分享一篇python_mask_array的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Numpy中np.dot與np.matmul的區(qū)別詳解

    Numpy中np.dot與np.matmul的區(qū)別詳解

    本文主要介紹了Numpy中np.dot與np.matmul的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 用python爬取電腦壁紙實(shí)例代碼

    用python爬取電腦壁紙實(shí)例代碼

    大家好,本篇文章主要講的是用python爬取電腦壁紙實(shí)例代碼,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • python如何把字符串類型list轉(zhuǎn)換成list

    python如何把字符串類型list轉(zhuǎn)換成list

    這篇文章主要介紹了python如何吧字符串類型list轉(zhuǎn)換成list,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評(píng)論