您好,登錄后才能下訂單哦!
這篇文章主要介紹Django添加bootstrap框架時無法加載靜態(tài)文件怎么辦,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
項目結(jié)構(gòu)如下:
開始時在setting.py中設(shè)置如下;
html文件中的寫法如下:
這樣設(shè)置一直無法加載靜態(tài)文件,只需要修改setting.py文件如下:
就可以加載到靜態(tài)文件了。
補(bǔ)充知識:Django-項目上線后,靜態(tài)文件配置失效以及404、500頁面的全局配置
一.項目上線后靜態(tài)文件失效
1.因為項目還沒上線的時候,django會默認(rèn)從setting.py中這個設(shè)置
STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), )
使靜態(tài)文件生效
2.當(dāng)setting.py中設(shè)置項目上線環(huán)境,代碼如下
# 項目上線,生產(chǎn)模式設(shè)置False DEBUG = False ALLOWED_HOSTS = ['*'] # 項目沒上線 # DEBUG = True # # ALLOWED_HOSTS = []
3.前端就找不到靜態(tài)文件static文件夾了。
4.需要像MEDIA文件一樣重新配置靜態(tài)文件的url:
5.setting.py中加代碼:
#項目上線后,static路徑需要重新配置
STATIC_ROOT = os.path.join(BASE_DIR,'static')
6.項目下的總urls.py(不是app的urls.py)中:
#項目上線后,需要自己配置static靜態(tài)文件路徑
url(r'^static/(?P<path>.*)$', serve, {'document_root':STATIC_ROOT}),
7.這樣靜態(tài)文件就能訪問到了
二、404、500頁面的全局配置
1.因為這個配置需要項目改成生產(chǎn)環(huán)境(及上的debug=False,生產(chǎn)環(huán)境配置需設(shè)置好才有效)
2.項目下的總urls.py(不是app的urls.py)中,urlpatterns下面添加:
from XMJonline.settings import MEDIA_ROOT,STATIC_ROOT urlpatterns = [ ... ] # 全局404,500配置 handler404 = 'users.views.page_not_found' handler500 = 'users.views.page_error'
3.對應(yīng)的user.views中:
def page_not_found(request): ''' 全局處理404頁面 ''' from django.shortcuts import render_to_response response = render_to_response('404.html',{}) response.status_code = 404 return response def page_error(request): ''' 全局處理500頁面 ''' from django.shortcuts import render_to_response response = render_to_response('500.html',{}) response.status_code = 500 return response
4.項目的templates文件夾添加自己想要的404/500.html頁面。
5.測試500的問題。
class IndexView(View): ''' 首頁 ''' def get(self,request): # 取輪播圖 print(1/0)
6.訪問首頁。
7.成功跳轉(zhuǎn)到自己配置的500頁面。
以上是“Django添加bootstrap框架時無法加載靜態(tài)文件怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。