Python 静态_根='/静态/';收集工作区目录外的静态文件

Python 静态_根='/静态/';收集工作区目录外的静态文件,python,django,static,Python,Django,Static,我已在我的设置中使用了.py STATIC_ROOT = '/static/' 收集静态文件的步骤 这是我的静态路径设置 STATIC_PATH = os.path.join(BASE_DIR,'static') 当我运行收集静态代码django在我的工作区文件夹外创建一个静态文件夹时,它是否应该收集我已经创建的静态文件夹中的所有静态文件?基本上,您可以为django项目的不同应用程序创建多个“静态”文件夹,这些文件夹可以用于开发。但是,每当您转到生产服务器并从同一个位置为所有静态文件提供服

我已在我的设置中使用了.py

STATIC_ROOT = '/static/'
收集静态文件的步骤 这是我的静态路径设置

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

当我运行收集静态代码django在我的工作区文件夹外创建一个静态文件夹时,它是否应该收集我已经创建的静态文件夹中的所有静态文件?

基本上,您可以为django项目的不同应用程序创建多个“静态”文件夹,这些文件夹可以用于开发。但是,每当您转到生产服务器并从同一个位置为所有静态文件提供服务时,您都需要此功能,在该功能中,您可以将不同目录中的所有静态文件收集到工作区外的一个目录中

project_name
-  project_name
   -   static
       -   static files goes here which are common
   -   __init__.py
   -   settings.py
   -   urls.py
-  application_name
   -   static
       -   static files goes here which are related to application only
   -   __init__.py
   -   settings.py
   -   urls.py
-  static - This is common place where all static files will be placed after collectstatic command for productions only.
根据上述结构,您可以理解您可以使用不同的服务器(如CDN)来为静态文件提供服务器


如果您对答案不满意,请告诉我。谢谢。

我想你把
静态根目录
静态URL
静态文件
设置搞混了

要告诉Django从
example.com/static/
提供静态文件,请设置

STATIC_URL = '/static/'
您不应该设置
STATIC\u ROOT='/STATIC'
。这告诉Django在工作区之外的磁盘上的
/static/
中收集静态文件

STATIC\u ROOT
是收集静态文件的目录。应该是这样的

STATIC_ROOT = '/var/www/example.com/staticfiles/'
如果不想硬编码目录,可以执行以下操作:

STATIC_ROOT = 'os.path.join(BASE_DIR, "staticfiles"),'
然后,您将配置您的Web服务器(例如Nginx或Apache)来为
静态根目录中的文件提供服务


最后,
STATICFILES\u DIRS
是Django在运行
collectstatic
时搜索静态文件的位置列表。文件将从该目录复制到您的
静态\u根目录
。因此,您需要确保
STATIC\u ROOT
未包含在
STATICFILES\u DIRS

您是否定义了
STATICFILES\u DIRS
?这就是我拥有的STATICFILES\u DIRS=(STATIC\u路径,)