我需要帮助将this package实现到这个django project:
查看页面源代码时,我看到应用程序的HTML是从render标记加载的。但是在实际页面上,我没有看到任何从这些呈现标记输出的HTML
有人能总结一套一步一步的说明来让这个软件包工作吗?提供的说明有时会令人困惑
我没有执行以下操作,也不确定如何执行这些部分:
1)在divio.com上或通过pypi安装该插件(最好不要安装它,因为它似乎要花钱——除非有办法免费使用)
2)更新模板/django_隐私管理,以反映前端工具链的情况(不确定在我的项目中将这些文件放在哪里)
3)然后检查您的网站正在使用哪种跟踪项目(在模板中或通过Google Tag Manager或任何可以想象的其他方式),并将它们添加到Django Admin界面的“Django隐私管理”部分的“跟踪项目”列表中。这是必要的,以便我们可以在“隐私设置”模式下向用户显示跟踪项目的列表
4)然后实施条件逻辑,以启用或禁用在上一步中标识的跟踪项(请参阅下一章)
以下是我遵循的步骤:
pip3 install django-privacy-mgmt
pip3 install django-parler
pip3 install django-sekizai
python3 manage.py migrate
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,"templates")],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'sekizai.context_processors.sekizai',
],
},
},
]
SITE_ID = 1
INSTALLED_APPS = [
'django.contrib.sites',
'sekizai',
'django_privacy_mgmt',
'parler',
]
{% load privacy %}
<!DOCTYPE html>
<html lang="en">
<head>
{% load static %}
{% render_privacy_api %}
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<body>
{% render_privacy_banner %}
{% render_privacy_settings_modal %}
{% render_privacy_settings_modal_link %}
</body>
两周前,我刚开始使用django,无意中发现了django隐私管理软件包。我也想在我的项目中使用它,但在开始时遇到了一些麻烦。这就是为什么我认为我可以在这里帮助你。 我看了一下你的项目,检查了它并成功地集成了这个包
我执行了以下步骤:
pip install django-privacy-mgmt
安装程序包和
django.contrib.messages.context_processors.messages
到上下文处理器在
base.html
的./courses/templates中添加了隐私定义python manage.py migration
python manage.py runserver
任何用户登录都会在导航栏中显示链接,如果您单击它,弹出窗口就会出现说明:
在第一步中,我们安装软件包。您不需要安装}。文档中没有描述这一点,但有必要为'js'和'css'添加
django-parler
和django-sekizai
,它们是django-privacy-mgmt
的依赖项,将由pip自动安装 成功安装包后,我们可以使用位于./courses/templates/courses/base.html中的base.html文件中的标记。首先,为了能够使用django隐私管理包中的标记,我们包含了load privacy
。之后,我们{render_block
标记,包使用这些标记将javascript和css添加到base.html中。软件包的创建者计划将来删除它,请查看here。你需要把render_privacy_settings_modal_link
放在你想为用户显示链接的地方,也许页脚是最好的地方。我把它放在你的导航栏里了。 我根据documentation将render_privacy_api
、render_privacy_banner
和render_privacy_settings_modal
添加到了base.html
中。请注意,横幅是可选的。 在步骤5中,我迁移了SQL脚本,它将创建创建TrackingItem所需的表。 启动本地服务器并与任何用户登录后,您应该能够在导航中看到“隐私设置”链接我没有用它。如上所述here安装pip工程
包的创建者的意思是,您可以覆盖他的模板。他有一个模板,这些是应用程序中包含的渲染标记。我需要在我的项目中这样做,因为我使用Django 3,不再支持静态文件。你不必担心,在你的项目中一切都很好,但是如果你想改变横幅、链接或弹出窗口的布局,你必须覆盖模板。您可以通过在./courses/templates中创建一个名为
django_privacy_mgmt
的文件夹,并创建名为here的HTML文件来实现这一点。从存储库复制内容并根据需要进行调整如果您使用localhost:8000/admin登录到管理区域,您应该会看到model TrackingItem,您可以在其中为django隐私管理创建项目。 为了根据用户的隐私设置排除脚本,您必须遵循说明here。正如您在示例中看到的,如果用户拒绝cookie设置中的统计信息,它不会加载googletagamanager
希望这有帮助
相关问题 更多 >
编程相关推荐