我有 django 应用程序和 nginx
I have django application and nginx
我有 django
应用程序和 nginx
,它从浏览器访问文件 /static。
比如
http://example.com/static/file.png
但是我的应用程序在 /staticroot 下有文件。
http://example.com/staticroot/file.png
它显示图像。
所以,我开始 nginx
。
location /static {
alias /staticroot;
}
然而并没有出现
我的环境是调试模式。
我的设置py是这样的,
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATIC_ROOT = os.path.join(config("PROJ_PATH"), 'staticroot')
我该如何解决这个问题?
为了提供 staticroot 内容,您必须重命名 STATIC_URL='/staticroot/'
并在 nginx 文件中进行这样的更改
location /staticroot/ {
alias /home/your_username/project_name;
}
当请求到达 /staticroot/somefile
Nginx 将在文件系统中查找名为 staticroot 的目录,它将提供服务文件。
因此,当您为静态或媒体内容定义 url 时,请确保您已创建具有相同名称的目录。
有关更多信息,请查看 Serving Static Content Nginx 文档。
在/etc/nginx/sites-available/you_project
设置
location /static/ {
root /home/your_admin_name/your_project_folder_name;
}
在settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
我有 django
应用程序和 nginx
,它从浏览器访问文件 /static。
比如
http://example.com/static/file.png
但是我的应用程序在 /staticroot 下有文件。
http://example.com/staticroot/file.png
它显示图像。
所以,我开始 nginx
。
location /static {
alias /staticroot;
}
然而并没有出现
我的环境是调试模式。
我的设置py是这样的,
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATIC_ROOT = os.path.join(config("PROJ_PATH"), 'staticroot')
我该如何解决这个问题?
为了提供 staticroot 内容,您必须重命名 STATIC_URL='/staticroot/'
并在 nginx 文件中进行这样的更改
location /staticroot/ {
alias /home/your_username/project_name;
}
当请求到达 /staticroot/somefile
Nginx 将在文件系统中查找名为 staticroot 的目录,它将提供服务文件。
因此,当您为静态或媒体内容定义 url 时,请确保您已创建具有相同名称的目录。
有关更多信息,请查看 Serving Static Content Nginx 文档。
在/etc/nginx/sites-available/you_project
设置
location /static/ {
root /home/your_admin_name/your_project_folder_name;
}
在settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]