site logo

Marico' space

Django新手初始化项目遇到的坑

Others 2024-07-28 08:16:44 997

最近在跑一个开源的Django项目,唉,第一次跑Django,结果悲剧了,搞了好久才玩明白。

谨以此文给第一次跑Django代码的兄弟,少一些弯路。

初始化数据表

  1. 先配置数据库信息:

settings.py文件中

DATABASES = {
  'default': {
      'ENGINE': 'django.db.backends.postgresql_psycopg2',
      'NAME': 'db_name
      'USER': 'so_clone_user',
      'PASSWORD': 'password',
      'HOST': 'localhost',
      'PORT': '',
  }
}
  • 初始化数据库表
$ python manage.py makemigrations
$ python manage.py migrate

  • 运行项目

$ python manage.py runserver

此处报错:ValueError: Missing staticfiles manifest entry for 'plugins/css/bootstrap.min.css'

这个ValueError表明在尝试获取一个静态文件时,程序在静态文件的manifest文件中没有找到相应的条目。manifest文件通常用于记录静态文件的名称、路径和哈希值,以便在部署时可以有效地管理缓存。在这个例子中,它提示缺少名为plugins/css/bootstrap.min.css的静态文件的条目。

解决方法:

  1. 确认bootstrap.min.css文件是否确实存在于静态文件目录中。
  2. 如果文件存在,检查是否正确地收集了静态文件,并生成了manifest文件。可以通过运行python manage.py collectstatic命令来收集静态文件。
  3. 确认在项目的settings.py文件中STATICFILES_DIRSSTATIC_ROOT设置是否正确,以确保收集静态文件时能够找到这个文件。
  4. 如果是在开发环境中,确保DEBUG = Truesettings.py中被设置,这样Django就会在每次请求时自动查找静态文件。
  5. 如果以上步骤都无法解决问题,尝试清除Django的缓存,然后重新收集静态文件。可以通过运行python manage.py clearstatichash来清除缓存,然后再次运行python manage.py collectstatic

所以,要加一步:

  • 初始化静态文件manifest, 再跑启动命令就OK了
python manage.py collectstatic