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

devtools/2025/1/24 8:30:37/

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 (目录结构与文件布局)
# 创建一个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,及默认文件介绍

http://www.ppmy.cn/devtools/153085.html

相关文章

JMeter 测试Dubbo 接口

在使用 JMeter 进行 Dubbo 接口的测试时,JMeter 本身并没有直接支持 Dubbo 协议(基于 RPC)的插件。但是,我们可以通过以下几种方式来测试 Dubbo 接口: 1. 使用 JMeter 的 Java 请求(JDBC 请求)…

递归的本质

字节面试题叠罗汉,很遗憾没想出来,看了答案挺巧妙的,但是居然是个案例题。。。 复习一下递归的本质 正面解决问题 利用子问题来解决 可以通过规约推导的,基本可以用递归解决! 在写这道算法题时,我想规…

STM32+W5500+以太网应用开发+003_TCP服务器添加OLED(u8g2)显示状态

STM32W5500以太网应用开发003_TCP服务器添加OLED(u8g2)显示状态 实验效果3-TCP服务器OLED1 拷贝显示驱动代码1.1 拷贝源代码1.2 将源代码添加到工程1.3 修改代码优化等级1.4 添加头文件路径1.5 修改STM32CubeMX工程 2 修改源代码2.1 添加头文件2.2 main函…

【Docker】搭建一个功能强大的自托管虚拟浏览器 - n.eko

前言 本教程基于群晖的NAS设备DS423的docker功能进行搭建,DSM版本为 DSM 7.2.2-72806 Update 2。 n.eko 支持多种类型浏览器在其虚拟环境中运行,本次教程使用 Chromium​ 浏览器镜像进行演示,支持访问内网设备和公网地址。 简介 n.eko 是…

【openwrt】openwrt odhcpd配置介绍

odhcpd odhcpd是一个嵌入式DHCP/DHCPv6/RA服务器和NDP中继的进程,odhcpd是一个守护进程,用于服务和中继IP管理协议,以配置客户端和下游路由器。它试图遵循IPv6家用路由器的RFC 6204要求。odhcpd为DHCP、RA、无状态SLAAC和有状态DHCPv6、前缀委派提供服务器服务,并可用于在没…

Tomcat异常日志中文乱码怎么解决

Tomcat异常日志中文乱码怎么解决 tomcat日志中文乱码问题 输出其他日志方法解决方法网页报错中文乱码问题我之前试过的方法我的怀疑 能帮我瞅瞅网页报错中文乱码具体该怎么解决吗?可以直接跳转到目录中 网页报错中文乱码问题部分?? tomcat日志中文乱码问题 正…

何时使用Agent,何时避免使用Agent

具体要点总结 ✅ 何时使用代理: 工作流程需要动态调整:当任务涉及复杂、多变的决策路径时(如用户请求包含多个依赖外部数据的子任务)。无法预定义所有情况:当用户需求超出预设的"if/else"逻辑范围时&#…

Vue - ref( ) 和 reactive( ) 响应式数据的使用

一、ref( ) 在 Vue 3 中,ref() 是一个用于创建响应式引用的函数。它是 Vue 3 Composition API(组合式API) 的一部分,允许在组件中创建响应式数据。 使用对象:基本数据类型(String 、Number 、Boolean 、Null 等)、对…