You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django runserver启动报SystemCheckError系统检查错误问题咨询

Django启动报错问题原因与解决方法

阻塞启动的reCAPTCHA配置错误

问题原因

项目集成的django-recaptcha验证码组件当前使用Google公开测试密钥,Django系统检查机制判定生产环境下使用测试密钥存在功能异常风险,直接抛出错误中断服务启动流程。

解决方法

根据使用场景二选一即可:

  • 本地开发调试:在项目settings.py中添加如下配置,跳过该项系统检查:
SILENCED_SYSTEM_CHECKS = ['captcha.recaptcha_test_key_error']
  • 生产环境部署:申请对应服务域名的reCAPTCHA公私钥,替换settings.py中默认的RECAPTCHA_PUBLIC_KEY、RECAPTCHA_PRIVATE_KEY配置项,不要使用测试密钥。

模型主键类型警告(不阻塞启动)

问题原因

Django 3.2及以上版本调整了隐式主键的默认规则,若模型未手动指定主键字段类型,系统会抛出W042警告,提醒开发者显式配置主键类型,避免跨版本默认值不一致引发的数据兼容问题。当前main应用下的AdditionalImage、AdvUser、Board、Comment、Rubric、SubRubric、SuperRubric共7个模型均未手动指定主键,因此触发警告。

解决方法

两种方案选其一即可:

  • 全局生效配置:在settings.py中添加全局默认主键类型配置,覆盖所有应用的模型:
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
  • 单应用生效配置:如果只想为main应用单独配置,修改main/apps.py中的MainConfig类,添加default_auto_field属性:
from django.apps import AppConfig

class MainConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'main'

以上配置修改完成后,重新执行python manage.py runserver即可正常启动服务。

内容的提问来源于stack exchange,提问作者Leonid Price

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 08:24:15