欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django中的靜態(tài)文件管理過程解析

 更新時間:2019年08月01日 14:17:45   作者:再見紫羅蘭  
這篇文章主要介紹了Django中的靜態(tài)文件管理過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Static files管理

static files指一些用到的像css,javascript,images之類的文件。

在開發(fā)階段:

1.在settings設置INSTALLED_APPS中添加'django.contrib.staticfiles'。

2.將STATIC_URL設置為'/static/'。

3.將某個app要用的靜態(tài)文件放置到my_app/static/my_app中,例如my_app/static/my_app/my_image.jpg.

當然也可以直接放在my_app/static中,但這樣的話,如果在不同的app中有相同名字的靜態(tài)文件,就會產(chǎn)生沖突。

4.模板中使用

{% load static %}
<img src="{% static 'my_app/myexample.jpg' %}" alt="My image"/>

5.如果有些不是某個app特用的靜態(tài)文件,可以建立static文件夾將靜態(tài)文件放置其中,settings設置:

STATICFILES_DIRS = (
  os.path.join(BASE_DIR, "static"),
  '/var/www/static/',
)

這樣,在開發(fā)環(huán)境中,settings.DEBUG設置為True時,運行runserver就可以訪問靜態(tài)文件了。

如果INSTALLED_APPS中沒有包含'django.contrib.staticfiles',需要手動運行django.contrib.staticfiles.views.serve()。

from django.conf import settings
from django.contrib.staticfiles import views
 
if settings.DEBUG:
  urlpatterns += [
    url(r'^static/(?P<path>.*)$', views.serve),
  ]

或者

from django.conf import settings
from django.conf.urls.static import static 
urlpatterns = [
  # ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

以上都在DEBUG設置為True時起作用。

在生產(chǎn)環(huán)境中,就需要使用反向代理服務器直接訪問靜態(tài)文件,需要將靜態(tài)文件轉(zhuǎn)移到代理服務器可以訪問的文件夾,設置

STATIC_ROOT = "/var/www/example.com/static/"

然后運行

python manage.py collectstatic

將各個app內(nèi)的靜態(tài)文件及STATICFILES_DIRS內(nèi)的靜態(tài)文件收集起來放置到STATIC_ROOT中由服務器apache或nhinx管理即可。

Media管理

MEDIA:指用戶上傳的文件,比如在Model里面的FileFIeld,ImageField上傳的文件。

假如有個Model

from django.db import models 
class Car(models.Model):
  name = models.CharField(max_length=255)
  price = models.DecimalField(max_digits=5, decimal_places=2)
  photo = models.ImageField(upload_to='cars')

設置MEDIA_ROOT=os.path.join(BASE_DIR , 'media'),用來存儲用戶上傳的文件

MEDIA_URL=/media/,為MEDIA_ROOT中的文件建立url地址。

當建立一個Car實例時,Car的ImageField字段圖片就存到media/cars文件夾里面

>>> car = Car.objects.get(name="57 Chevy")
>>> car.photo
<ImageFieldFile: chevy.jpg>
>>> car.photo.name
u'cars/chevy.jpg'
>>> car.photo.path
u'/media/cars/chevy.jpg'
>>> car.photo.url
u'/media/cars/chevy.jpg'

在模板中使用圖片

<img src="{{ car.photo.url }}" alt="My image"/>

在urls.py中使用 django.contrib.staticfiles.views.serve() view

from django.conf import settings #from myapp import settings
from django.conf.urls.static import static
 
urlpatterns = patterns('',
  # ... the rest of your URLconf goes here ...
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

這樣就可以使用media文件了。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python通過線程實現(xiàn)定時器timer的方法

    python通過線程實現(xiàn)定時器timer的方法

    這篇文章主要介紹了python通過線程實現(xiàn)定時器timer的方法,涉及Python線程與定時器timer的使用技巧,需要的朋友可以參考下
    2015-03-03
  • Python獲取腳本所在目錄的正確方法

    Python獲取腳本所在目錄的正確方法

    這篇文章主要介紹了Python獲取腳本所在目錄的正確方法,需要的朋友可以參考下
    2014-04-04
  • python如何基于redis實現(xiàn)ip代理池

    python如何基于redis實現(xiàn)ip代理池

    這篇文章主要介紹了python如何基于redis實現(xiàn)ip代理池,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Python中圖像通用操作的實現(xiàn)代碼

    Python中圖像通用操作的實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了Python中圖像通用操作的實現(xiàn),例如:圖像旋轉(zhuǎn)、圖像縮放等,文中的示例代碼講解詳細,需要的可以參考一下
    2023-07-07
  • python微信公眾號開發(fā)簡單流程

    python微信公眾號開發(fā)簡單流程

    這篇文章主要介紹了python微信公眾號開發(fā)的相關資料,分步驟為大家分享python微信公眾號開發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Playwright中Web自動化測試的實現(xiàn)

    Playwright中Web自動化測試的實現(xiàn)

    Playwright是一個現(xiàn)代的Web自動化測試框架,本文主要介紹了Playwright中Web自動化測試的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • matlab和Excel的數(shù)據(jù)交互操作(非xlsread和xlswrite)

    matlab和Excel的數(shù)據(jù)交互操作(非xlsread和xlswrite)

    在使用MATLAB時,可能會遇到很多表格數(shù)據(jù)的處理,有時MATLAB也需要利用現(xiàn)存的表格數(shù)據(jù)實現(xiàn)操作目的,下面這篇文章主要給大家介紹了關于matlab和Excel的交互操作的相關資料,非xlsread和xlswrite,需要的朋友可以參考下
    2021-08-08
  • python爬蟲之場內(nèi)ETF基金獲取

    python爬蟲之場內(nèi)ETF基金獲取

    這篇文章主要介紹了python爬蟲之場內(nèi)ETF基金獲取,ETF?是一種場內(nèi)交易型基金,可以在盤中進行交易,交易性比場外基金強一點,下文基于python的相關資料展開,需要的小伙伴可以參考一下
    2022-05-05
  • 使用wxPython獲取系統(tǒng)剪貼板中的數(shù)據(jù)的教程

    使用wxPython獲取系統(tǒng)剪貼板中的數(shù)據(jù)的教程

    這篇文章主要介紹了使用wxPython獲取系統(tǒng)剪貼板中的數(shù)據(jù)的教程,wxPython是一個非常受歡迎的Python圖形庫,需要的朋友可以參考下
    2015-05-05
  • educoder之Python數(shù)值計算庫Numpy圖像處理詳解

    educoder之Python數(shù)值計算庫Numpy圖像處理詳解

    這篇文章主要為大家介紹了educoder之Python數(shù)值計算庫Numpy圖像處理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04

最新評論