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就行。

浙公网安备 33010602011771号