Django(part18)--静态文件
學習筆記,僅供參考,有錯必糾
靜態文件
- 什么是靜態文件
不能與服務器端做動態交互的文件都是靜態文件,比如:圖片,js文件,音頻,視頻,部分html文件
靜態文件的配置
對于靜態文件的配置,我們需要在settings.py中進行下面兩項更改。
- 配置靜態文件的訪問路徑
打開settings.py模塊,確認該文件底端是否有以下代碼,沒有則增加以下代碼:
STATIC_URL = '/static/'之后,我們便可以用http://127.0.0.1:8000/static/xxx.jpg訪問名為xxx.jpg的靜態文件了。
- 配置靜態文件的存儲路徑
在這里,我們將配置靜態文件在服務器端的保存位置。
首先,在項目文件夾下創建一個static文件夾:
我們再打開settings.py模塊,并添加如下代碼:
STATICFILES_DIRS = [(os.path.join(BASE_DIR, 'static')) ]在static文件夾下放入一個image文件夾,里面放一些圖片:
在static文件夾中創建一個test1.html文件,并將image文件夾下的圖片的路徑添加到test1.html文件中:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Yes!</title> </head> <body> <h2>算法</h2> <img src="/static/image/算法.jpg"></body> </html>這些jpg和html文件,是不變的(區別于模板中的html文件),如果我們想訪問他們,不需要給其創建新的路由,只需要把他們放到static文件夾下,即可通過url進行訪問。
我們向http://127.0.0.1:8000/static/test1.html發起請求:
再打開開發者工具(DevTools):
可以發現,我們一共進行了兩次請求。
如果我們想在模板中訪問靜態文件該咋整呢?
別急,我們先學一段語法:
{% load static %} <!--加載static--> {% static '靜態文件路徑' %} <!--訪問靜態文件-->現在,我們定義一個模板test_static.html:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Yes!</title> </head> <body> <h2>算法</h2> {% load static %} <!--加載static--> <img src="{% static 'image/算法.jpg' %}"><h2>講故事</h2> {% load static %} <img src="{% static 'image/聽我講故事.jpg' %} "> </body> </html>views.py
def test_static(request):return render(request, "test_static.html")urls.py
urlpatterns = [path('admin/', admin.site.urls),re_path(r'^test_form/$', views.test_form),re_path(r'^test_static/$', views.test_static), ]向http://127.0.0.1:8000/test_static/發起請求:
總結
以上是生活随笔為你收集整理的Django(part18)--静态文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django(part17)--form
- 下一篇: Django(part19)--Djan