最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django 讀取圖片到頁(yè)面實(shí)例

 更新時(shí)間:2020年03月27日 09:13:38   作者:zhangyu4863  
這篇文章主要介紹了django 讀取圖片到頁(yè)面實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

首先,我們看看models.py里的模型,有個(gè)upload_to參數(shù),為了和過(guò)去一刀兩斷,樓主決定給upload_to賦值一個(gè)新的值叫avatar/,這個(gè)參數(shù)的意思是把文件上傳到MEDIA_ROOT/avatar/下面。

既然這里upload_to的值是連接在MEDIA_ROOT/路徑后的一部分,所以很自然的只能寫(xiě)成avatar/或者./avatar/,而不能寫(xiě)成/avatar/,樓主已經(jīng)以身試法過(guò)。

還有一點(diǎn),這里提到了MEDIA_ROOT,可是我們一直沒(méi)設(shè)置過(guò)啊。

headImg = models.FileField(upload_to='avatar/')

所以理所當(dāng)然的要設(shè)置MEDIA_ROOT,所以在settings.py中做如下設(shè)置,這里的意思就是說(shuō),我們?cè)陧?xiàng)目根目錄下會(huì)新建一個(gè)media文件夾,專(zhuān)門(mén)用來(lái)存放media文件。結(jié)合上面的設(shè)置可推出,我們上傳的文件會(huì)放在/media/avatar/下:

MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace("\\", "/")```

這`MEDIA_ROOT`就是媒體根目錄的路徑,這……好像是廢話(huà)。上傳的文件也會(huì)放在這里,但是正如我們上面探索時(shí)提到的:使用文件,實(shí)質(zhì)上也是調(diào)用了一個(gè)文件的url,在Django中提到url,都是要從`urlpatterns`中過(guò)濾一遍的。

所以,展示圖片的邏輯應(yīng)該是這樣的:我們調(diào)用圖片的url一般是有規(guī)律的,我們過(guò)濾的時(shí)候發(fā)現(xiàn),只要符合,就按照文件名從媒體根目錄中找相應(yīng)的文件。

- 所以,我們先找到圖片url的規(guī)律,都說(shuō)了,圖片都是存在`/media/avatar/`中,也就是說(shuō)圖片的路徑應(yīng)該是包含`/media/avatar/`的,為了保險(xiǎn)起見(jiàn)以及后續(xù)我們可能會(huì)存除了頭像之外的其他文件,比如儲(chǔ)存縮略圖的叫`/media/thumb/`,所以這里我們?nèi)〈蠹夜灿械腵/media/`作為過(guò)濾url的規(guī)律。

MEDIA_URL = '/media/'

- 這也就是為什么`MEDIA_ROOT`和`MEDIA_ROOT`經(jīng)常一起出現(xiàn),并且他們的有相同的值。

準(zhǔn)備好這些后,在`urlpatterns`中寫(xiě)吧,這里寫(xiě)的路由和普通的路由不一樣,因?yàn)槲覀冞@里的所有的媒體文件其實(shí)都是靜態(tài)文件的一部分,而且我們一般路由符合條件后是去執(zhí)行`views`中的某個(gè)函數(shù),這里卻是去某個(gè)文件夾中找文件,所以肯定寫(xiě)法上是不同的,寫(xiě)法是`static(如果符合這樣規(guī)律的url,就去這個(gè)目錄中找文件)`:

導(dǎo)入這兩個(gè)包

setting.py中

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)```

如果你之前在探索的時(shí)候經(jīng)常會(huì)看看瀏覽器會(huì)輸出什么錯(cuò)誤,你一般都是看到要么是404 error,要么就是500 error。為什么會(huì)出現(xiàn)404 error,就是因?yàn)槲覀兘o的圖片路徑?jīng)]有在urlpatterns中定義過(guò),所以Django在要展示圖片的時(shí)候,一看,咦,這什么鬼url,在urlpatterns中根本沒(méi)有對(duì)應(yīng)的可以查,所以是錯(cuò)誤的請(qǐng)求網(wǎng)址,返回404 error。在urlpatterns中添加之后,就不會(huì)有404 error了。

好了,我們還剩下最后一步,就是在img的src中填寫(xiě)正確的圖片地址。我們之前說(shuō)了圖片是儲(chǔ)存在/media/avatar/下面的,所以圖片的路徑就是:

<img src="/media/{{user.headImg}}" alt=""/>

因?yàn)槲覀儍?chǔ)存在數(shù)據(jù)庫(kù)中的圖片路徑是upload_to的值和圖片名稱(chēng)的拼接,比如下面的avatar/test_mini.jpg。

補(bǔ)充知識(shí):解決django的html無(wú)法加載圖片的問(wèn)題

html的代碼都是對(duì)的

但是django網(wǎng)頁(yè)加載不出圖片

這里來(lái)給大家演示一下,因?yàn)閟etting.py少了東西,無(wú)法查找圖片路徑

STATICFILES_DIRS=(
 os.path.join(BASE_DIR,'static'),
)

補(bǔ)上這個(gè)代碼

html插入圖片很簡(jiǎn)單,我這里就舉個(gè)栗子

{% load static %} <body background="{% static 'imges/bg.png' %}"></body>

運(yùn)行一下

ok, nice!

以上這篇django 讀取圖片到頁(yè)面實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python表達(dá)式的優(yōu)先級(jí)詳解

    Python表達(dá)式的優(yōu)先級(jí)詳解

    在本篇文章里小編給大家整理了關(guān)于Python表達(dá)式的優(yōu)先級(jí)的知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • Python簡(jiǎn)單檢測(cè)文本類(lèi)型的2種方法【基于文件頭及cchardet庫(kù)】

    Python簡(jiǎn)單檢測(cè)文本類(lèi)型的2種方法【基于文件頭及cchardet庫(kù)】

    這篇文章主要介紹了Python簡(jiǎn)單檢測(cè)文本類(lèi)型的方法,結(jié)合實(shí)例形式分析了基于基于文件頭及cchardet庫(kù)兩種文本類(lèi)型檢測(cè)的方法,需要的朋友可以參考下
    2016-09-09
  • python動(dòng)態(tài)視頻下載器的實(shí)現(xiàn)方法

    python動(dòng)態(tài)視頻下載器的實(shí)現(xiàn)方法

    這里向大家分享一下python爬蟲(chóng)的一些應(yīng)用,主要是用爬蟲(chóng)配合簡(jiǎn)單的GUI界面實(shí)現(xiàn)視頻,音樂(lè)和小說(shuō)的下載器。今天就先介紹如何實(shí)現(xiàn)一個(gè)動(dòng)態(tài)視頻下載器,需要的朋友可以參考下
    2019-09-09
  • Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作

    Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作

    今天小編就為大家分享一篇Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python使用selenium爬蟲(chóng)知乎的方法示例

    python使用selenium爬蟲(chóng)知乎的方法示例

    這篇文章主要介紹了python使用selenium爬蟲(chóng)知乎的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • python矩陣/字典實(shí)現(xiàn)最短路徑算法

    python矩陣/字典實(shí)現(xiàn)最短路徑算法

    這篇文章主要為大家詳細(xì)介紹了python矩陣/字典實(shí)現(xiàn)最短路徑算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • java字符串格式化輸出實(shí)例講解

    java字符串格式化輸出實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于java字符串格式化輸出實(shí)例講解,有需要的朋友們可以學(xué)習(xí)下。
    2021-01-01
  • pandas 使用均值填充缺失值列的小技巧分享

    pandas 使用均值填充缺失值列的小技巧分享

    今天小編就為大家分享一篇pandas 使用均值填充缺失值列的小技巧分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python股票數(shù)據(jù)可視化代碼詳解

    Python股票數(shù)據(jù)可視化代碼詳解

    這篇文章主要為大家詳細(xì)介紹了Python股票數(shù)據(jù)可視化,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • flask框架json數(shù)據(jù)的拿取和返回操作示例

    flask框架json數(shù)據(jù)的拿取和返回操作示例

    這篇文章主要介紹了flask框架json數(shù)據(jù)的拿取和返回操作,結(jié)合實(shí)例形式分析了flask框架針對(duì)json格式數(shù)據(jù)的解析、數(shù)據(jù)庫(kù)操作與輸出等相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11

最新評(píng)論

什邡市| 南阳市| 岳西县| 武陟县| 宝鸡市| 康保县| 新建县| 关岭| 治多县| 壤塘县| 濉溪县| 邢台市| 神木县| 德庆县| 林口县| 湖北省| 子洲县| 黄平县| 化隆| 元朗区| 灵川县| 湘潭市| 克东县| 平山县| 宿松县| 永嘉县| 什邡市| 上饶市| 涡阳县| 安新县| 修文县| 龙海市| 福建省| 类乌齐县| 西畴县| 孝昌县| 郓城县| 晴隆县| 大埔县| 揭东县| 皮山县|