Django添加bootstrap框架時(shí)無法加載靜態(tài)文件的解決方式
項(xiàng)目結(jié)構(gòu)如下:
開始時(shí)在setting.py中設(shè)置如下;
html文件中的寫法如下:
這樣設(shè)置一直無法加載靜態(tài)文件,只需要修改setting.py文件如下:
就可以加載到靜態(tài)文件了。
補(bǔ)充知識:Django-項(xiàng)目上線后,靜態(tài)文件配置失效以及404、500頁面的全局配置
一.項(xiàng)目上線后靜態(tài)文件失效
1.因?yàn)轫?xiàng)目還沒上線的時(shí)候,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è)置項(xiàng)目上線環(huán)境,代碼如下
# 項(xiàng)目上線,生產(chǎn)模式設(shè)置FalseDEBUG = FalseALLOWED_HOSTS = [’*’]# 項(xiàng)目沒上線# DEBUG = True## ALLOWED_HOSTS = []
3.前端就找不到靜態(tài)文件static文件夾了。
4.需要像MEDIA文件一樣重新配置靜態(tài)文件的url:
5.setting.py中加代碼:
#項(xiàng)目上線后,static路徑需要重新配置STATIC_ROOT = os.path.join(BASE_DIR,’static’)
6.項(xiàng)目下的總urls.py(不是app的urls.py)中:
#項(xiàng)目上線后,需要自己配置static靜態(tài)文件路徑url(r’^static/(?P<path>.*)$’, serve, {’document_root’:STATIC_ROOT}),
7.這樣靜態(tài)文件就能訪問到了
二、404、500頁面的全局配置
1.因?yàn)檫@個配置需要項(xiàng)目改成生產(chǎn)環(huán)境(及上的debug=False,生產(chǎn)環(huán)境配置需設(shè)置好才有效)
2.項(xiàng)目下的總urls.py(不是app的urls.py)中,urlpatterns下面添加:
from XMJonline.settings import MEDIA_ROOT,STATIC_ROOTurlpatterns = [ ...]# 全局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 responsedef page_error(request): ’’’ 全局處理500頁面 ’’’ from django.shortcuts import render_to_response response = render_to_response(’500.html’,{}) response.status_code = 500 return response
4.項(xiàng)目的templates文件夾添加自己想要的404/500.html頁面。
5.測試500的問題。
class IndexView(View): ’’’ 首頁 ’’’ def get(self,request): # 取輪播圖 print(1/0)
6.訪問首頁。
7.成功跳轉(zhuǎn)到自己配置的500頁面。
以上這篇Django添加bootstrap框架時(shí)無法加載靜態(tài)文件的解決方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. jsp+mysql實(shí)現(xiàn)網(wǎng)頁的分頁查詢2. 完美解決idea突然間很卡的問題3. IntelliJ IDEA設(shè)置條件斷點(diǎn)的方法步驟4. JavaScript Tab菜單實(shí)現(xiàn)過程解析5. ThinkPHP5 通過ajax插入圖片并實(shí)時(shí)顯示(完整代碼)6. Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考7. js實(shí)現(xiàn)幻燈片輪播圖8. Ajax引擎 ajax請求步驟詳細(xì)代碼9. Android實(shí)現(xiàn)圖片自動切換功能(實(shí)例代碼詳解)10. javascript設(shè)計(jì)模式 ? 建造者模式原理與應(yīng)用實(shí)例分析
