日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django(part18)--静态文件

發布時間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)--静态文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。