Django学习笔记(项目默认文件)-02

Django学习笔记(项目默认文件)-02

一、项目默认文件介绍

1、项目的文件结构
复制代码
django_demo
 -manage.py (项目的管理、启动、创建app、数据管理)
 -django_demo
 	-__init__.py
 	-asgi.py (接受网络请求)
 	-settings.py (项目配置文件)
 	-urls.py (配置路由映射)
 	-wsgi.py (接受网络请求)
2、manage文件介绍(项目的管理、启动、创建app、数据管理)
3、asgi与wsgi文件介绍(接受网络请求)不需要改动
4、urls文件介绍(配置路由映射)需要经常使用
5、settings文件介绍(项目配置文件)需要经常使用

二、创建App模块

1. 模块化架构组件Django中 app(应用)是一个非常核心的概念
  • 独立功能单元:一个 Django 项目通常由多个 app 组成,每个 app 可以看作是一个相对独立的功能模块,负责处理特定领域的任务。例如,在一个电商项目中,可能有专门负责用户管理的 "users" app,处理商品信息的 "products" app,以及用于订单处理的 "orders" app 等。这种模块化的设计使得项目结构清晰,不同功能的开发、测试、维护可以相对独立地进行,降低了项目的整体复杂度。
  • 代码复用:各个 app 之间可以共享一些通用的代码和功能。比如,多个 app 可能都需要用到用户认证相关的功能,那么就可以在一个专门的 app 中实现用户认证模块,其他 app 通过合适的方式引入并使用,提高了代码的复用率,避免重复开发。
2. 创建一个app (目录结构与文件布局)
cmd 复制代码
# 创建一个app (app01为名称)
python manage.py startapp app01
  • 标准目录

    :当创建一个新的 app 时,Django 会自动生成一个具有标准目录结构的文件夹。一般包含以下关键文件和目录:

    • models.py:用于定义应用中的数据模型,也就是数据库表的抽象表示。在这里可以指定表的字段、数据类型、关系等,Django 会依据这些定义自动创建和管理数据库表。例如,在 "users" app 的models.py中定义用户表,包含用户名、密码、邮箱等字段。
    • views.py:存放视图函数或类视图,它们负责接收来自客户端的请求,并返回相应的响应。视图函数就像是应用的 "对外窗口",根据业务逻辑处理请求,可能涉及数据查询、加工,然后将结果以合适的形式(如 HTML 页面、JSON 数据等)呈现给客户端。
    • templates目录:用于存放与该 app 相关的模板文件,通常是 HTML 模板,这些模板用于渲染视图返回的响应。模板可以包含动态数据占位符,在渲染时将被实际的数据替换,从而生成个性化的页面呈现给用户。
    • admin.py:用来配置应用在 Django 自带的 Admin 管理后台中的显示和操作方式。通过在admin.py中注册模型,可以方便地在后台对数据进行增、删、改、查操作,无需编写大量的管理界面代码。
    • migrations目录:存放数据库迁移文件,这些文件记录了数据库表结构的变化历史。每次对models.py中的模型进行修改并执行迁移命令后,Django 会在这个目录下生成新的迁移文件,以确保数据库结构能够准确跟踪模型的变化。
3、在setting文件中设置app

三、学习总结

1、Django项目默认文件介绍
2、创建一个app,及默认文件介绍
相关推荐
CCblandy5 分钟前
令牌桶在 0.9 倍负载超发 19%、固定窗口边界放行 20 个:四种限流算法同构实测
后端·python·算法·性能优化·架构
u0111026751 小时前
JPG、PNG、WebP 怎么选?按透明度、体积和使用场景做判断
前端·javascript·vue.js·图像处理·ai作画
摇滚侠1 小时前
《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》第 9 章 机器码与汇编语言 阅读笔记 9
java·开发语言·笔记
kaixin_啊啊1 小时前
【用于更准确 G×E 基因组预测的大规模作物数据集与基于深度学习的多模态融合框架】论文学习
人工智能·深度学习·学习
Cc.Y1 小时前
Java零基础入门:深入Java核心:文件IO与序列化全解
java·开发语言·python
xier_ran1 小时前
【infra之路】AI 编译器学习笔记(六):重拾 C++——lambda 与 MLIR 中的回调
c++·笔记·学习
拿本唠嗑AI研究1 小时前
本体工程实战指南:从建模到可维护的完整落地路径
java·人工智能·python·jena·ontology
志尊宝1 小时前
Vue3 零基础每日笔记(078):首屏加载速度优化汇总——清单化方案
笔记
jerrywus1 小时前
让 AI 写完代码后交一份报告:我改造了 answer-me-with-html
前端·claude·cursor
Smoothcloud润云1 小时前
PyTorch推理服务模型热切换与失败回滚实战:降低版本更新中断
服务器·人工智能·pytorch·python·深度学习·gpu