django1.10 靜態檔案配置
阿新 • • 發佈:2019-01-04
settings配置
# 網站引用靜態檔案時都會加上該地址,如:http://www.xxx.com/static/css/mini.css
STATIC_URL = '/static/'
# 靜態檔案根目錄,執行命令`python manage.py collectstatic`可以把靜態檔案都收集到該目錄下
STATIC_ROOT = BASE_DIR + "/performance/static/"
# 靜態檔案原始檔案所在目錄
STATICFILES_DIRS = (
os.path.join(os.path.dirname(__file__), '../performance/templates/' ).replace('\\', '/'),
# os.path.join(os.path.dirname(__file__), 'static/').replace('\\', '/'),
)
引用靜態檔案
在html模板中引入
{% load static %}
<link href="{% static "css/bootstrap.min.css" %}" rel="stylesheet" type="text/css" />
開發環境不需要其他配置就可以直接請求靜態檔案
部署環境的配置(nginx為例)
在配置檔案.conf檔案中設定
upstream bbs1.linuxtone.com {
server 127.0.0.1:8552;
}
server {
listen 8555;
server_name auto1.apitest.com;
index index.php index.html index.htm;
// 直接copy需要刪掉註釋:
// 靜態檔案配置,static只是個別名,可以改成其他的別名
// 目錄root+static(D:/A/B/static/)是django的
// settings中的STATIC_ROOT,需要能夠找到實際的靜態檔案
location ~ ^/static/ {
root D:/A/B/;
expires 30d;
break;
}
location ~ ^/ {
root D:/A/;
proxy_redirect off ;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 50m;
client_body_buffer_size 256k;
proxy_connect_timeout 30;
proxy_send_timeout 30;
proxy_read_timeout 60;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_max_temp_file_size 128m;
proxy_pass http://bbs1.linuxtone.com;
}