30分钟搭建你的专属健身追踪应用:Cookiecutter Django实战指南

张开发
2026/4/13 3:13:26 15 分钟阅读

分享文章

30分钟搭建你的专属健身追踪应用:Cookiecutter Django实战指南
30分钟搭建你的专属健身追踪应用Cookiecutter Django实战指南【免费下载链接】cookiecutter-djangoCookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.项目地址: https://gitcode.com/GitHub_Trending/co/cookiecutter-djangoCookiecutter Django是一个强大的项目模板框架能够帮助开发者快速搭建生产级别的Django应用。本文将带你在30分钟内使用Cookiecutter Django构建一个功能完善的健身追踪应用无需复杂配置让你专注于业务逻辑开发。为什么选择Cookiecutter DjangoCookiecutter Django提供了开箱即用的项目结构和最佳实践包含了现代Web应用所需的大部分组件灵活的配置选项支持PostgreSQL、Redis、Celery等多种技术栈生产级设置内置安全配置、环境变量管理和部署选项前端支持集成Webpack、Gulp等前端构建工具测试框架完整的测试结构和CI/CD集成项目生成选项概览Cookiecutter Django提供了丰富的项目生成选项你可以根据健身追踪应用的需求进行定制数据库选择PostgreSQL 18/17/16等版本API框架可选择Django Rest Framework或Django Ninja构建健身数据API前端管道Webpack或Gulp用于构建健身数据可视化界面异步任务集成Celery处理定时任务如健身目标提醒云服务支持AWS、GCP或Azure存储健身图片和数据Cookiecutter Django提供直观的项目配置界面轻松定制健身追踪应用所需功能快速开始搭建健身追踪应用1. 环境准备在开始前请确保你的开发环境中已安装uvPython包管理器PostgreSQL数据库Redis如使用CeleryCookiecutter2. 生成项目通过以下命令生成你的健身追踪应用项目git clone https://gitcode.com/GitHub_Trending/co/cookiecutter-django cd cookiecutter-django cookiecutter .根据提示输入项目信息建议为健身追踪应用选择以下配置project_name: FitTrackproject_slug: fittrackdescription: A personal fitness tracking applicationrest_api: Django Rest Framework用于构建健身数据APIuse_celery: yes用于定时任务和提醒frontend_pipeline: Webpack用于构建响应式界面3. 项目设置进入生成的项目目录并安装依赖cd fittrack uv sync git init uv run pre-commit install创建PostgreSQL数据库createdb --usernamepostgres fittrack设置环境变量可创建.env文件export DATABASE_URLpostgres://postgres:password127.0.0.1:5432/fittrack应用数据库迁移uv run python manage.py migrate4. 创建健身追踪应用模块创建一个专门的健身追踪应用模块uv run python manage.py startapp fitness_tracker mv fitness_tracker fittrack/编辑fitness_tracker/apps.py文件更新应用名称name fittrack.fitness_tracker在config/settings/base.py中注册应用LOCAL_APPS [ # ...其他应用 fittrack.fitness_tracker, ]使用PyCharm开发健身追踪应用的模型和视图实现核心功能1. 定义健身数据模型在fitness_tracker/models.py中定义健身记录模型from django.db import models from django.conf import settings class Workout(models.Model): user models.ForeignKey(settings.AUTH_USER_MODEL, on_deletemodels.CASCADE) activity models.CharField(max_length100) # 跑步、举重等 duration models.PositiveIntegerField(help_textDuration in minutes) calories_burned models.PositiveIntegerField() date models.DateTimeField(auto_now_addTrue) def __str__(self): return f{self.activity} on {self.date.strftime(%Y-%m-%d)}创建并应用迁移uv run python manage.py makemigrations uv run python manage.py migrate2. 编写API端点使用Django Rest Framework创建健身数据API在fitness_tracker/api/serializers.py中from rest_framework import serializers from ..models import Workout class WorkoutSerializer(serializers.ModelSerializer): class Meta: model Workout fields [id, activity, duration, calories_burned, date] read_only_fields [user, date]在fitness_tracker/api/views.py中创建视图from rest_framework import viewsets from rest_framework.permissions import IsAuthenticated from ..models import Workout from .serializers import WorkoutSerializer class WorkoutViewSet(viewsets.ModelViewSet): serializer_class WorkoutSerializer permission_classes [IsAuthenticated] def get_queryset(self): return Workout.objects.filter(userself.request.user) def perform_create(self, serializer): serializer.save(userself.request.user)使用Django Rest Framework构建健身数据API3. 设置定时任务使用Celery创建定时任务提醒用户完成每日健身目标。在fitness_tracker/tasks.py中from celery import shared_task from django.core.mail import send_mail from django.conf import settings shared_task def send_workout_reminder(user_email): subject Dont forget your workout today! message Remember to log your fitness activities today. Stay healthy! send_mail( subjectsubject, messagemessage, from_emailsettings.DEFAULT_FROM_EMAIL, recipient_list[user_email], fail_silentlyFalse, )在config/celery_app.py中配置定时任务from celery.schedules import crontab app.conf.beat_schedule { send-daily-workout-reminder: { task: fittrack.fitness_tracker.tasks.send_workout_reminder, schedule: crontab(hour17, minute0), # 每天17:00发送提醒 args: (userexample.com,), }, }管理健身追踪应用的数据库迁移运行与测试应用启动开发服务器uv run python manage.py runserver 0.0.0.0:8000如果使用Webpack前端管道npm install npm run dev访问http://localhost:3000开始使用你的健身追踪应用下一步添加用户认证使用Django Allauth实现用户注册和登录数据可视化集成Chart.js展示健身数据趋势移动响应式设计优化移动端体验部署上线参考部署文档将应用部署到生产环境通过Cookiecutter Django你可以在短时间内搭建一个功能完善的健身追踪应用专注于实现核心业务逻辑而非基础配置。无论是个人使用还是进一步开发成商业产品这个框架都能满足你的需求【免费下载链接】cookiecutter-djangoCookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.项目地址: https://gitcode.com/GitHub_Trending/co/cookiecutter-django创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章