为Django个人主页添加留言板
给现有的Django项目增加访客留言功能,并完美融入个人主页
一、项目背景
我已有一个人主页项目(Django),包含个人信息、技能、项目、学习动态等。现在希望增加一个留言板,让访客可以:
留下姓名、邮箱、电话、留言内容
提交时做简单算术验证(防机器人)
查看已有的所有留言
留言板直接显示在首页底部(不单独跳转页面)
二、环境与工具
Python 3.11
Django 5.2
SQLite(默认数据库)
Git + GitCode(代码托管)
三、实现步骤
1. 创建留言模型(models.py)
在personal_home/models.py末尾添加Message模型:
然后执行迁移:
python manage.py makemigrations python manage.py migrate2. 创建表单(forms.py)
新建personal_home/forms.py,使用ModelForm并添加验证码字段:
3. 修改视图(views.py)—— 将留言板集成到首页
原本index视图只负责展示个人主页。现在改为同时处理留言板的 GET/POST,并将表单和留言列表传给模板。
同时保留原来的projects视图不变。
4. 修改模板(index.html)—— 添加留言板卡片
在右侧栏的“学习动态”卡片下方插入一个卡片,包含:
联系方式提示
表单(循环渲染各字段,显示错误信息)
已有留言列表
5. 配置 URL
personal_home/urls.py只需保留首页和项目页路由,删除之前独立留言板的/contact/路由:
四、测试与调试
运行
python manage.py runserver访问首页,滚动到底部看到留言板卡片。
填写测试留言,验证码输入
8,提交后页面刷新,新留言出现。若验证码错误,表单会提示相应错误。
五、最终效果
首页右侧卡片区出现“留言板”卡片。
访客可便捷留言,无需跳转。
所有留言按时间倒序展示,你的联系方式也清晰可见。
简单的算术验证码有效阻止垃圾留言。
项目代码:https://gitcode.com/iukoi_Jul5/Personal_home
