1. Django靜態(tài)文件分類
Django的靜態(tài)文件有兩類砂豌,分別為static
和media
饲窿。
-
static
:用以存放:js、css、image -
media
:用以存放上傳的文件或圖片
2. 上傳圖片實(shí)戰(zhàn)
django用
MEDIA_URL
和MEDIA_ROOT
處理media
2.1 創(chuàng)建media文件夾存放上傳圖片
mkdir media/test
2.2 修改setting.py文件
增加MEDIA_URL
和MEDIA_ROOT
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media").replace('\\','/')
2.3 修改urls.py文件
導(dǎo)入:
from django.conf.urls.static import static
from django.conf import settings
修改urlpatterns:
urlpatterns = [
url(r'^xadmin/', include(xadmin.site.urls)),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
在本地調(diào)試需要將setting.py
文件中淑翼,DEBUG
設(shè)置為True
2.4 創(chuàng)建models.py
class Site(models.Model):
id = models.AutoField(primary_key=True)
image = models.ImageField(u'favicon',upload_to="test/")
注意:upload_to
選項(xiàng)
3. 生產(chǎn)服務(wù)器
使用nginx處理django靜態(tài)文件腐巢,nginx.conf
文件media
配置如下:
location /media {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /opt/project/media/;
}