feat: 新增隐私政策内容页(apps.core.SimpleContentPage)及seed命令,更新设计文档
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
"""
|
||||
创建/更新"隐私政策"页面(apps.core.SimpleContentPage),挂载在首页下。
|
||||
用于满足 PIPL 合规清单要求(详见 documents/设计方案分析与完善版.md §2.15)。
|
||||
|
||||
用法:
|
||||
python manage.py seed_privacy_policy
|
||||
"""
|
||||
from django.core.management.base import BaseCommand, CommandError
|
||||
|
||||
from apps.core.models import SimpleContentPage
|
||||
from apps.home.models import HomePage
|
||||
|
||||
PRIVACY_POLICY_BODY = """
|
||||
<h2>一、引言</h2>
|
||||
<p>本公司(以下简称"我们")非常重视用户的个人信息保护。本《隐私政策》适用于用户访问本网站及使用本网站提供的各项服务(包括但不限于在线留言、需求咨询表单提交等)。请在使用本网站前仔细阅读并充分理解本政策的全部内容。</p>
|
||||
|
||||
<h2>二、我们收集的信息</h2>
|
||||
<p>当您通过本网站的留资表单(如产品咨询、方案咨询等)主动提交信息时,我们可能收集以下类型的个人信息:</p>
|
||||
<ul>
|
||||
<li>姓名</li>
|
||||
<li>联系电话</li>
|
||||
<li>电子邮箱</li>
|
||||
<li>所在公司/单位名称</li>
|
||||
<li>您在留言/需求描述中主动提供的其他信息</li>
|
||||
</ul>
|
||||
<p>除上述信息外,我们不会主动收集与服务无关的个人敏感信息。</p>
|
||||
|
||||
<h2>三、我们如何使用您的信息</h2>
|
||||
<p>我们收集上述信息仅用于以下目的:</p>
|
||||
<ul>
|
||||
<li>响应并处理您通过表单提交的咨询或需求;</li>
|
||||
<li>与您联系以提供售前/售后服务、产品或方案介绍;</li>
|
||||
<li>改善本网站的内容与用户体验;</li>
|
||||
<li>履行法律法规要求的其他义务。</li>
|
||||
</ul>
|
||||
<p>未经您的同意,我们不会将您的个人信息用于上述目的以外的用途,也不会向无关第三方出售、共享您的个人信息。</p>
|
||||
|
||||
<h2>四、信息的存储与保护</h2>
|
||||
<p>您的个人信息将存储于中国大陆境内的服务器,存储期限为实现收集目的所必需的期限,法律法规另有规定的除外。我们采取符合行业标准的技术措施(如访问控制、传输加密等)保护您的个人信息安全,防止信息被误用、未经授权访问、泄露、篡改或损毁。</p>
|
||||
|
||||
<h2>五、Cookie 的使用</h2>
|
||||
<p>为提升用户体验,本网站可能使用 Cookie 或同类技术记录您的浏览偏好等非身份识别信息。您可以通过浏览器设置拒绝或清除 Cookie,但这可能影响部分网站功能的正常使用。</p>
|
||||
|
||||
<h2>六、您的权利</h2>
|
||||
<p>依据《中华人民共和国个人信息保护法》(PIPL)等相关法律法规,您对我们持有的您的个人信息享有以下权利:</p>
|
||||
<ul>
|
||||
<li><strong>查阅权</strong>:您有权查阅我们收集的与您相关的个人信息;</li>
|
||||
<li><strong>更正权</strong>:如您发现我们持有的个人信息有误,可要求我们更正;</li>
|
||||
<li><strong>删除权</strong>:在符合法律规定的情形下,您可要求我们删除您的个人信息;</li>
|
||||
<li><strong>撤回同意权</strong>:您可随时撤回此前提供个人信息时给予的同意。</li>
|
||||
</ul>
|
||||
<p>如需行使上述权利,请通过本政策"联系我们"部分列明的方式与我们联系,我们将在收到请求后的合理期限内予以处理。</p>
|
||||
|
||||
<h2>七、未成年人信息保护</h2>
|
||||
<p>本网站主要面向企业客户提供产品与服务信息,不主动面向未成年人收集个人信息。如您是未成年人的监护人并发现其向我们提供了个人信息,请及时与我们联系,我们将尽快采取相应措施删除相关数据。</p>
|
||||
|
||||
<h2>八、政策的更新</h2>
|
||||
<p>我们可能会根据法律法规变化或业务调整不时修订本政策,修订后的政策将在本页面公布并自公布之日起生效。如政策发生重大变更,我们会以网站公告等适当方式通知用户。</p>
|
||||
|
||||
<h2>九、联系我们</h2>
|
||||
<p>如您对本隐私政策有任何疑问、意见或投诉,或需要行使您的个人信息相关权利,请通过网站留言表单与我们联系,我们将尽快回复处理。</p>
|
||||
|
||||
<p><em>本政策最近更新日期:2026 年 8 月。</em></p>
|
||||
""".strip()
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "创建或更新隐私政策页面(挂载于首页下)"
|
||||
|
||||
def handle(self, *args, **options):
|
||||
home_page = HomePage.objects.live().first() or HomePage.objects.first()
|
||||
if home_page is None:
|
||||
raise CommandError(
|
||||
"未找到 HomePage 实例,请先在 Wagtail 后台创建首页后再运行本命令。"
|
||||
)
|
||||
|
||||
page = SimpleContentPage.objects.child_of(home_page).filter(slug="privacy-policy").first()
|
||||
if page is None:
|
||||
page = SimpleContentPage(
|
||||
title="隐私政策",
|
||||
slug="privacy-policy",
|
||||
body=PRIVACY_POLICY_BODY,
|
||||
seo_title_override="隐私政策",
|
||||
seo_description_override="了解我们如何收集、使用和保护您的个人信息。",
|
||||
)
|
||||
home_page.add_child(instance=page)
|
||||
page.save_revision().publish()
|
||||
self.stdout.write(self.style.SUCCESS(f"已创建隐私政策页面:{page.url}"))
|
||||
else:
|
||||
page.body = PRIVACY_POLICY_BODY
|
||||
page.save()
|
||||
page.save_revision().publish()
|
||||
self.stdout.write(self.style.SUCCESS(f"已更新隐私政策页面:{page.url}"))
|
||||
Reference in New Issue
Block a user