1

我正在使用 Django 蜜罐(https://github.com/jamesturk/django-honeypot)并且想知道如何自定义 honeypot_error.html 页面(https://github.com/jamesturk/django-honeypot/blob/master/ honeypot/templates/honeypot/honeypot_error.html ),当蜜罐检测被触发时执行。谢谢!!

4

2 回答 2

1

如果您在项目中honeypot_error.html使用相同的结构化路径 templates/honeypot/honeypot_error.html,它将默认使用您的页面。(看重点:这里

示例:包 x 定义一个名为toto.htmlintemplates/myapp/toto.html

在您的应用程序中,添加一个自定义toto.htmltemplates/myapp/toto.html

打电话时

python manage.py collectstatic

它将获取您的模板,而不是 myapp 默认提供的模板

于 2020-08-13T08:33:17.070 回答
0

我无法评论 MSR974 的回答,所以:

来自 Django 关于覆盖模板的文档:

from pathlib import Path

BASE_DIR = Path(__file__).resolve(strict=True).parent.parent

INSTALLED_APPS = [
    ...,
    'blog',
    ...,
]

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],
        'APP_DIRS': True,
        ...
    },
]

注意:“如果您的应用程序和项目模板目录都包含覆盖,默认的 Django 模板加载器将首先尝试从项目级目录加载模板。换句话说,在 APP_DIRS 之前搜索 DIRS。”

在阅读示例时,请记住 APP 和 PROJECT 模板之间的区别,并确保您已根据所选策略配置了 SETTINGS。

于 2020-08-17T00:48:57.980 回答