Django的Error汇总

Django的Error汇总

本文档主要记录了Django 2.2某项目运行在Windows10中遇到的一系列Error等。

1. NameError: name 'include' is not defined

  • 名称错误,没有定义‘include’
  • 排错思路:一般是没有导入相关方法。
  • 解决方法:在urls.py中导入from django.conf.urls import include

2. TypeError: index() missing 1 required positional argument: 'request'

  • 类型错误,index()缺少必要的位置参数'request'
  • 排错思路:
  • 解决方法:修改urlpatterns中的path:path('', views.index, name='index')

3. django.core.exceptions.ImproperlyConfigured: 'postgresql_psycopg2' isn't an available database backend.

  • 类型错误,配置不当
  • 排错思路:根据说明:Try using 'django.db.backends.XXX', where XXX is one of: 'mysql', 'oracle', 'postgresql', 'sqlite3'
  • 解决方法:在setting.py中修改数据库中的配置'ENGINE': 'django.db.backends.postgresql_psycopg2'

4. django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named 'psycopg2'

  • 类型错误,配置不当
  • 排错思路:缺少依赖包,在Python Console中测试import psycopg2
  • 解决方法:pipenv install psycopg2

5. ERROR: Pidfile (celerybeat.pid) already exists.

  • 类型错误,celery beat v4.3.0 (rhubarb) 进程未按计划终止。
  • 排错思路:celery支持定时任务,设定好任务的执行时间,celery就会定时自动执行,这个定时任务模块叫celery beat。昨天项目测试时,启动过celery beat,最后关闭了PC机,第二天启动项目时提示Pidfile (celerybeat.pid) already exists。
  • 解决方法:删除项目下 celertbeat.pid文件。

6. ModuleNotFoundError: No module named 'polls.apps.PollsConfigdjango'; 'polls.apps' is not a package

  • 类型错误,找不到模块。
  • 排错思路:这是将创建的新模型激活时,报出的错误。过程大致是:在apps/models.py中创建新模型——>在mysite/setting.py的类 INSTALLED_APPS中添加点式路径。所以,一步步找错误即可。我发现No module named 'polls.apps.PollsConfigdjango'最可能的原因是'polls.apps.PollsConfig在INSTALLED_APPS设置后缺少逗号!
  • 解决方法:'polls.apps.PollsConfig'后添加逗号。

7. redis.exceptions.ResponseError: Client sent AUTH, but no password is set

  • 类型错误:配置错误
  • 排错思路:本来已经在redis配置文件中设置了密码,但是仍然提示but no password is set,说明配置没有生效。然后就想到启动redis-server,可能没有指定到对应的配置文件中。 当然, 没有设置密码的,设置下密码就行。
  • 解决方法:找到redis-server 指定的配置文件/usr/local/redis-5.0.5/redis.conf或/etc/redis/6379.conf(新增,已经设置了开机启动),然后指定到/etc/redis/6379.conf就行。
posted @ 2019-06-25 15:55  JeffreyDin  阅读(1314)  评论(0)    收藏  举报