django collectstatic 从错误的位置拾取文件

django collectstatic picking files from wrong location

我是 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,现在我正在尝试使用静态文件。我在根目录下创建了一个名为“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

那不是复制,我的static文件夹里的东西到assests文件夹。

当我尝试使用以下命令检查 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 和图像的正确路径。

我怀疑你的 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