django 从错误的位置收集静态文件

Posted

技术标签:

【中文标题】django 从错误的位置收集静态文件【英文标题】:django collectstatic picking files from wrong location 【发布时间】:2022-01-09 20:50:59 【问题描述】:

我是 Python 和 Django 的初学者。我正在使用 Windows10,并且我已经安装了 Python 3.10.0 和 pip 21.3.1。我使用以下命令安装了 Django

pip install virtualenvwrapper-win
mkvirtualenv firstdjango
pip install django
django-admin startproject demo

然后我为简单的静态 html 页面创建了 APP,现在我正在尝试使用静态文件。我在 root 上创建了一个名为“static”的文件夹,并将所有 css、js 等文件放在其中和 settings.py 中,我提到了以下内容。

STATIC_URL = '/static/'
STATICFILES_DIR = [
    os.path.join(BASE_DIR, 'static')
]
STATIC_ROOT = os.path.join(BASE_DIR,'assets')

现在当我击球时

python manage.py collectstatic

那么它不是在复制,我的静态文件夹中的内容是评估文件夹。

当我尝试使用以下命令检查 collectstatic 尝试从何处复制时

python manage.py findstatic -v 3 dummy

然后我得到了关注

C:\Users\dell\Envs\firstdjango\lib\site-packages\django\contrib\admin\static

但我的项目位置是 E:\django\demo

我不明白,为什么 collectstatic 无法复制正确的文件,因此我的网页中没有正确的 css、js 和图像路径。

【问题讨论】:

【参考方案1】:

我怀疑你的virutalenv 和你的项目不在同一个位置

你可以试试下面的方法:

pip install virtualenv  // install virtualenv
virtualenv env          //create your virutalenv
\pathto\env\Scripts\activate // activate your virtualenv

pip install django  
django-admin startproject demo
cd demo

And then collect your statifiles

【讨论】:

它适用于您的解决方案。非常感谢。

以上是关于django 从错误的位置收集静态文件的主要内容,如果未能解决你的问题,请参考以下文章

django项目部署后静态文件收集解决admin后台静态文件丢失

Django中静态文件之各个配置详解

收集静态文件会抛出 ImproperlyConfigured

collectstatic 无法收集管理静态文件

Django:配置不当:静态文件查找器的存储后端没有有效位置

Django settings.py中的静态文件管理设置