Skismail57/Django-To-Do-List_with_User_Authentication

GitHub: Skismail57/Django-To-Do-List_with_User_Authentication

一个基于 Django 的全栈待办事项应用,集成了用户身份验证、任务增删改查及容器化部署支持。

Stars: 1 | Forks: 0

# 🚀 带有用户身份验证的 Django To-Do List
Django-To-Do-List_with_User_Authentication
# 📝 Django 待办事项列表 一个安全的基于 Django 的 To-Do List 应用程序,具备用户身份验证、任务管理和响应式设计。功能包括用户注册、登录/登出、任务的 CRUD 操作以及自定义错误页面。使用 Django 5.0、HTML5、CSS3 构建,并支持 SQLite/PostgreSQL。已准备好通过 Docker 进行部署。 ![Django](https://img.shields.io/badge/Django-5.0-green?logo=django&logoColor=white) ![Python](https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white) ![HTML5](https://img.shields.io/badge/HTML5-orange?logo=html5&logoColor=white) ![CSS3](https://img.shields.io/badge/CSS3-blue?logo=css3&logoColor=white) ![SQLite](https://img.shields.io/badge/SQLite-Database-003B57?logo=sqlite&logoColor=white) ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-Supported-336791?logo=postgresql&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-Ready-2496ED?logo=docker&logoColor=white) ![Authentication](https://img.shields.io/badge/User-Authentication-success) ![CRUD](https://img.shields.io/badge/CRUD-Operations-blue)
功能技术栈快速开始截图许可证
## 💡 概述 一个使用 Django 构建的安全高效的任务管理解决方案,具备强大的用户身份验证、任务 CRUD 操作和响应式界面。此应用程序展示了使用 Django 进行现代 Web 开发的实践,包括表单处理、用户身份验证和数据库管理。 ## ✨ 功能 - **安全的身份验证系统** - 使用邮箱/密码进行用户注册和登录 - 密码重置功能 - 会话管理和安全性 - **任务管理** - 创建、读取、更新和删除任务 - 将任务标记为已完成/未完成 - 任务过滤和组织 ## 📸 截图
### 管理员界面 #### 管理员控制台 ![管理员控制台](https://static.pigsec.cn/wp-content/uploads/repos/cas/06/067a329623bdf3b40d7dd141fa7e5d4efaff27014222fa7829559592ee807829.png) *管理员界面概览,显示所有可管理的模型* #### 添加新任务 (管理员) ![管理员添加任务](https://static.pigsec.cn/wp-content/uploads/repos/cas/17/17238f48f2e93bd07c3bb4c5c166373e8f7e5412764042ed07d62278d3359a2e.png) *用于添加新任务的管理员界面* #### 编辑任务 (管理员) ![管理员编辑任务](https://static.pigsec.cn/wp-content/uploads/repos/cas/a4/a4472067bb43c819b208a346eb8e0ee2f4a3c566266f975ddfaafe535cd95496.png) *用于修改任务详情的管理员界面* #### 用户权限 ![用户权限](https://static.pigsec.cn/wp-content/uploads/repos/cas/95/95ccdb81815f72d0363747346d966291348088e02368d4536078d94a35210c16.png) *用于管理用户权限和组的管理员视图* ### 用户界面 #### 任务列表 ![任务列表](https://static.pigsec.cn/wp-content/uploads/repos/cas/32/325bc89f9ce442cd474c72179971a6d84b7f19f4aa92115be96884efcea1e033.png) *主要任务列表,显示用户的所有任务及其完成状态* #### 创建新任务 ![创建任务](https://static.pigsec.cn/wp-content/uploads/repos/cas/cf/cfaea246174818ec25dbb975c68f843b97fdb81b385d2f6a2470297527e76ebb.png) *用于向列表中添加新任务的表单* #### 管理员登录 ![管理员登录](https://static.pigsec.cn/wp-content/uploads/repos/cas/a5/a5e304fabd42832629beff74eec6ab84776f0be698f2c6908104867d49157795.png) *供管理员使用的安全登录界面* #### 添加分类 (管理员) ![添加分类](https://static.pigsec.cn/wp-content/uploads/repos/cas/5b/5b724839e0eeb3e31e8ab34e44190f86b013b16df96544d9f8146873f919753e.png) *用于管理任务分类的管理员界面*
- 安全的密码哈希处理 - 防范 SQL 注入 - XSS 防护 ## 🛠️ 技术栈 - **前端**: HTML5, CSS3, JavaScript - **后端**: Django 5.0 - **数据库**: SQLite (支持 PostgreSQL/MySQL) - **身份验证**: Django 内置身份验证系统 - **部署**: Docker, 已准备好支持 Kubernetes - **其他工具**: - WhiteNoise (用于静态文件) - python-decouple (用于环境变量) - Waitress 生产级服务器 ## 📋 环境要求 - Python 3.8+ - pip (Python 包管理器) - MySQL/PostgreSQL (可选,默认使用 SQLite) - Docker (用于容器化) ## 🚀 快速开始 ### 前置条件 1. **克隆仓库** git clone https://github.com/Skismail57/DjangoTo-DoListwithUserAuthentication.git cd DjangoTo-DoListwithUserAuthentication 2. **设置虚拟环境** python -m venv venv source venv/bin/activate # 在 Windows 上: venv\Scripts\activate 3. **安装依赖项** pip install -r requirements.txt 4. **配置环境变量** 在项目根目录下创建一个 `.env` 文件: DEBUG=True SECRET_KEY=your-secret-key-here ALLOWED_HOSTS=localhost,127.0.0.1 5. **执行数据库迁移** python manage.py migrate 6. **创建超级用户** python manage.py createsuperuser 7. **启动开发服务器** python manage.py runserver 8. **访问应用程序** - 前端: http://127.0.0.1:8000/ - 管理面板: http://127.0.0.1:8000/admin/ ## 🏗️ 项目结构 ``` DjangoTo-DoListwithUserAuthentication/ ├── .github/ # GitHub workflows and templates ├── static/ # Static files (CSS, JS, images) │ ├── css/ │ │ └── style.css │ └── js/ ├── staticfiles/ # Collected static files ├── templates/ # HTML templates │ ├── todos/ # App-specific templates │ │ ├── base.html │ │ ├── task_list.html │ │ └── task_form.html │ └── registration/ # Authentication templates │ ├── login.html │ ├── signup.html │ └── password_reset.html ├── todolist/ # Project settings │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── todos/ # Main app │ ├── migrations/ # Database migrations │ ├── static/ # App-specific static files │ ├── templates/ # App templates │ ├── __init__.py │ ├── admin.py # Admin configurations │ ├── apps.py # App configurations │ ├── forms.py # Form definitions │ ├── models.py # Database models │ ├── urls.py # URL routing │ └── views.py # View functions ├── .env # Environment variables ├── .gitignore ├── Dockerfile # Docker configuration ├── manage.py # Django management script ├── requirements.txt # Python dependencies ├── docker-compose.yml # Docker Compose configuration └── README.md # This file ``` ## 🚀 部署 ### Docker 部署 1. 使用 Docker Compose 构建并运行: docker-compose up --build ### Kubernetes 部署 1. 应用 Kubernetes 配置: kubectl apply -f k8s/ ## 🔮 未来改进 - [ ] 任务分类和标签 - [ ] 用户之间的任务共享 - [ ] 截止日期和提醒 - [ ] 任务优先级 - [ ] 深色模式 - [ ] 用于移动应用程序的 REST API - [ ] 使用 WebSockets 进行实时更新 - [ ] 任务导出 (PDF, CSV) - [ ] 任务的日历视图 - [ ] 任务评论和附件 ## 📄 许可证 本项目基于 [MIT License](LICENSE) 授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 **版权所有 © 2025 K Ismail**
标签:Django, Docker, 任务管理, 子域名突变, 安全防御评估, 数据可视化, 测试用例, 用户认证, 请求拦截, 逆向工具