当前位置: 首页 > news >正文

为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 migrate

2. 创建表单(forms.py)

新建personal_home/forms.py,使用ModelForm并添加验证码字段:

3. 修改视图(views.py)—— 将留言板集成到首页

原本index视图只负责展示个人主页。现在改为同时处理留言板的 GET/POST,并将表单和留言列表传给模板。

同时保留原来的projects视图不变。

4. 修改模板(index.html)—— 添加留言板卡片

在右侧栏的“学习动态”卡片下方插入一个卡片,包含:

  • 联系方式提示

  • 表单(循环渲染各字段,显示错误信息)

  • 已有留言列表

5. 配置 URL

personal_home/urls.py只需保留首页和项目页路由,删除之前独立留言板的/contact/路由:

四、测试与调试

  1. 运行python manage.py runserver

  2. 访问首页,滚动到底部看到留言板卡片。

  3. 填写测试留言,验证码输入8,提交后页面刷新,新留言出现。

  4. 若验证码错误,表单会提示相应错误。

五、最终效果

  • 首页右侧卡片区出现“留言板”卡片。

  • 访客可便捷留言,无需跳转。

  • 所有留言按时间倒序展示,你的联系方式也清晰可见。

  • 简单的算术验证码有效阻止垃圾留言。

项目代码:https://gitcode.com/iukoi_Jul5/Personal_home

http://www.jsqmd.com/news/655541/

相关文章:

  • 从三相交流电到家庭插座:揭秘零线与火线背后的物理与安全设计
  • 实战指南:利用Python与dlib构建实时人脸识别系统
  • 终极指南:Playnite游戏库管理器新手快速入门教程
  • SpringBoot项目整合传统Web结构:手动配置webapp目录与解决路径安全警告
  • 中医执业医师考试哪个课程性价比高? - 医考机构品牌测评专家
  • 100条大模型备案自查清单:做完这些,你才能说“我准备好了”
  • Equalizer APO完全指南:免费实现Windows全局音频均衡器优化
  • 线性代数实战:5种方法搞定二次型标准化(附Python代码示例)
  • 如何重建AWR存储库_清理损坏的AWR数据并重新初始化字典表
  • 2026维普算法又升级了?熬夜实测4款工具,论文AI率从60%降到6%!这份救命指南请收好 - 殷念写论文
  • 别再死磕6D抓取了:聊聊2D平面抓取在UR5e+Realsense项目里的实用落地技巧
  • ANSYS FLUENT二维流动传热仿真全流程解析:从网格导入到结果评估
  • 揭秘顶会论文AI协作链:2026奇点大会实测的5步学术写作提效法(含Nature/Science级提示词库)
  • Android设备EMMC/DDR兼容性实战:如何用一份代码适配多款存储芯片(以MT6737/MT6797为例)
  • 终极指南:如何使用Bulk Crap Uninstaller快速彻底清理Windows软件
  • OpenCV4.x与Anaconda环境冲突?WSL中完美解决方案
  • 别再手动装依赖了!一键脚本+环境快照,让BettaFish舆情系统部署快10倍
  • 广东微信立减金回收平台参考榜单 - 京顺回收
  • CentOS 7.6服务器上,5分钟搞定向日葵命令行版(SunloginClient Shell)的安装与绑定
  • ApeosPort-lVC3375如何打印账户管理报告
  • PySR高性能符号回归:从数据到可解释数学模型的架构演进与最佳实践
  • 保姆级教程:手把手教你用欧空局官网免费下载Sentinel-2卫星数据(附云量筛选与离线数据下载技巧)
  • 2026届学术党必备的五大降重复率助手实际效果
  • STK Walker星座参数详解:Delta、Star、Custom到底怎么选?附MATLAB互联代码实例
  • 【IoT】硬件制造模式解析:OEM、ODM、EMS如何选择与协同?
  • 基于TR-FRET技术的BRD4靶向PROTAC降解剂在颞下颌关节骨关节炎中的研究
  • RexUniNLU效果实测:零样本抽取新闻中的关键实体与关系
  • 基于深度学习的yolo火灾烟雾报警系统 图像智能监控yolo室内烟火检测
  • FilePizza终极指南:浏览器直连文件传输,告别中间服务器的束缚
  • WebRTC文件传输终极指南:浏览器直连技术的完整解析