woq / woq.github.io

3 stars 0 forks source link

Python Django Static Seeting #2

Open woq opened 3 years ago

woq commented 3 years ago

首先要理解几点

  1. Django不提供文件服务 (但他提供Dbug=True下的文件服务)
  2. 这个活你需要交给Nginx或者Apache来干
  3. 像`admin/css' 或者 'admin/js/' 这种自带的admin的多层文件夹,开发时候直接能用,部署的时候需要在'urls.py'额外配置,不然就是404
STATIC_ROOT = os.path.join(BASE_DIR, '../staticfiles')
from django.contrib import admin
from django.conf.urls import url,include
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
    url(r'^admin/',admin.site.urls),
 ] + static(settings.STATIC_URL,document_root = settings.STATIC_ROOT)
location /static {
      alias /www/wwwroot/app.wugniu.com/sangoapp/sango/staticfiles/;
        }

    location / {
      include uwsgi_params;
      uwsgi_pass 127.0.0.1:8001;
        }
woq commented 3 years ago
# 开发阶段放置项目自己的静态文件
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'staticfiles'),
)
# 执行collectstatic命令后会将项目中的静态文件收集到该目录下面来(所以不应该在该目录下面放置自己的一些静态文件,因为会覆盖掉)
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
woq commented 2 years ago

踏马的 去踏马的一切 用whitenoise解决一切问题. http://whitenoise.evans.io/en/stable/