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