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

Django新手使用crispy-forms遇TemplateDoesNotExist错误求助

解决crispy-forms TemplateDoesNotExist异常的方案

结合你的环境(Django 4.2.3 + django-crispy-forms 2.0),以下是针对性的解决步骤:

  • 安装对应版本的模板包
    django-crispy-forms 2.0版本开始,将Bootstrap、Tailwind等模板包拆分为独立安装包,不再内置。你设置了CRISPY_TEMPLATE_PACK = "bootstrap4",所以需要额外安装crispy-bootstrap4:

    pip install crispy-bootstrap4
    

    安装完成后,把crispy_bootstrap4添加到INSTALLED_APPS中:

    INSTALLED_APPS = [
        # ... 原有APP
        'crispy_forms',
        'crispy_bootstrap4',  # 新增这一行
        "accounts",
        "pages",
    ]
    
  • 检查模板中的标签引用
    确认注册页面模板里正确加载了crispy标签:

    {% load crispy_forms_tags %}
    

    渲染表单时使用正确的语法,比如:

    {% crispy form %}
    

    或者:

    {{ form|crispy }}
    

    避免拼写错误,比如把crispy_forms_tags写成crispy_tags(旧版本写法,新版本已废弃)。

  • 清理缓存并重启服务器
    执行Django的清理缓存命令,然后重启开发服务器:

    python manage.py clearcache
    

    (如果没有clearcache命令,可以直接删除项目根目录下的__pycache__文件夹,以及每个app下的__pycache__文件夹)

  • 验证模板路径配置
    检查settings.py中的TEMPLATES配置,确保APP_DIRS设置为True,这样Django会自动搜索各APP下的templates目录:

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [],  # 或你的自定义模板目录
            'APP_DIRS': True,  # 必须为True
            'OPTIONS': {
                # ... 其他配置
            },
        },
    ]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 03:52:39