Django下载使用、文件介绍
【一】下载并使用
【1】下载框架
(1)注意事项
- 计算机名称不要出现中文
- python解释器版本不同可能会出现启动报错
- 项目中所有的文件名称不要出现中文
- 多个项目文件尽量不要嵌套,做到一项一夹
(2)下载
- Django属于第三方模块,需要下载安装
- 如果之前下载了其他版本不用管,解释器会自动卸载替换
pip install django==3.2.12
【2】命令行启动
(1)创建Django项目
- 在win11系统的cmd终端切换到要创建的项目文件夹
cd /d 文件夹路径
- 创建项目
django-admin startproject 项目名
(2)启动项目
- 进入到创建的项目文件中(含有manager.py文件)
cd 项目名
- 启动项目
- 不写,默认是127.0.0.1:8000
python mananger.py runserver [IP:PORt]
- 得到地址就可以进入了
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
(3)创建APP
- 需要再次启动一个cmd终端
- 如何快速在指定文件夹启动
- 在文件夹导航条的最前面输入
cmd+空格即可
- 创建app
- 将在这个目录下创建文件夹
应用名
- 将在这个目录下创建文件夹
python manage.py startapp 应用名
(4)注册app
-
创建APP后,必须将创建的APP注册到配置文件中
-
才可以使用相关的功能
-
setting.py文件夹中进行修改
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','应用名', --简写]
【3】pycharm启动
(1)创建Django项目
- File —> New Project

(2)启动项目
- 配置可以更改也可以不改
- 右上角展开 —> edit configurations

- 启动
- 像普通py文件一样直接点击右上角运行
(3)创建APP
-
方式一:
-
点击pycharm底部Terminal
-
输入
-
python .\manage.py startapp 应用名
-
-
方式二:
-
点击tools —> Run manage.py Task
-
输入
-
startapp 应用名
-
(4)注册app
- 如果在创建项目时,也创建了app
- 那么这个app已经自动注册了
- 后续通过命令创建的app
- 需要修改settings.py
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','admin.apps.App01Config', --全称'admin', --简写
]
【二】项目文件介绍
【1】APP
- 这并不是指手机上的app
(1)介绍
- 在Django中,App(应用)是指一个可重用的模块,用于实现特定功能或业务逻辑的组件。
- 每个Django项目由一个或多个App组成,每个App可以包含模型、视图、模板和静态文件等组件,用于处理特定的功能模块。
(2)作用
- App用于将一个大型的Web应用程序拆分为多个小的、可重用的模块。
- 每个App都负责处理特定的功能或业务逻辑,使得应用程序的开发和维护更加模块化和可扩展。
(3)组成
- 模型(Models):模型定义了数据结构和数据库表之间的映射关系。每个App通常会包含自己的模型,用于处理和管理特定的数据。
- 视图(Views):视图负责处理用户的请求和逻辑处理。每个App可以包含自己的视图,用于处理特定功能的请求和生成响应。
- 模板(Templates):模板用于展示数据给用户。每个App可以包含自己的模板,用于定制和渲染特定功能的页面。
- 静态文件(Static Files):静态文件包括CSS样式表、JavaScript脚本和图像等。每个App可以包含自己的静态文件,用于定制和美化特定功能的界面。
(4)结构
- 每个App通常都有一个独立的目录,其中包含该App的相关组件和文件。
- 在App的目录中,通常会包含一个
models.py文件,用于定义该App的模型。 - 可以在App的目录中创建
views.py文件,用于定义该App的视图函数或类。 - 可以在App的目录中创建
templates目录,用于存放该App的模板文件。 - 可以在App的目录中创建
static目录,用于存放该App的静态文件。 - 还可以在App的目录中创建其他辅助文件,如表单定义、URL配置等。
【2】文件结构
(1)空项目
├── Django项目名 # 整体项目名├── db.sqlite3 # Django默认的db数据库,sqlite3├── manage.py # Django的服务控制文件,所有的Django命令都是基于manage.py 来执行的├── templates.py # 专门存储html文件└── Django项目名 # 项目名├── __init__.py # 包初始化文件├── __pycache__ # 缓存编译后的模块代码,加快加载速度│ ├── __init__.cpython-310.pyc # 编译后的文件│ ├── settings.cpython-310.pyc # 编译后的文件│ ├── urls.cpython-310.pyc # 编译后的文件│ └── wsgi.cpython-310.pyc # 编译后的文件├── asgi.py # 支持异步请求处理的应用程序接口├── settings.py # 配置文件├── urls.py # 实现URL路由规则└── wsgi.py # Django项目的入口点,将HTTP请求传递给WSGI容器,以启动Django服务器。
-
Django项目名
- 项目创建时指定的名称
- 每个Django项目都有一个唯一的名称,并且在整个项目目录下作为顶级目录存在。
-
db.sqlite3
-
Django默认使用的SQLite数据库文件
-
SQLite是一个轻量级的关系型数据库管理系统,无需服务器运行,所有数据存储在一个文件中
在这个项目中,SQLite被用作开发阶段的数据存储和本地测试环境的默认选项
-
-
manage.py
- 这是Django的核心服务控制脚本,包含了各种用于管理和维护项目、应用程序以及运行Django服务器的内置命令。
- 通过
manage.py,您可以执行如创建数据库、迁移模型、创建超级用户、运行开发服务器等操作。
-
Django项目名
-
__init__.py- 这是一个空的Python模块文件,它告诉Python这是一个包含其他模块或包的目录。
- 尽管对于Django项目来说,这通常不是必需的,但在一些情况下可能会用到。
-
__pycache__- Python会在此目录下缓存编译后的模块代码,以便加快后续加载速度。
- 这些目录通常不应该直接修改或删除,而是由Python自动处理。
__init__.cpython-310.pyc: 编译后的初始化模块。settings.cpython-310.pyc,urls.cpython-310.pyc,wsgi.cpython-310.pyc: 分别对应于settings.py、urls.py和wsgi.py这三个文件的编译版本。
-
asgi.py
- 在Django 3.0及更高版本中,此文件允许将项目配置为ASGI应用(Asynchronous Server Gateway Interface),即支持异步请求处理的应用程序接口,适用于生产环境中部署长连接或WebSocket服务。
-
settings.py
- 项目级别的设置文件,定义了诸如数据库连接、认证方式、中间件列表、静态文件托管、邮件配置等各种全局设置,以及其他项目自定义配置信息。
-
urls.py
- 应用程序级别的URL配置文件,定义了项目内各个视图函数与URL模式之间的映射关系,实现了URL路由规则。
-
wsgi.py
- Web Server Gateway Interface (WSGI) 实现文件,是Django项目的入口点,将HTTP请求传递给WSGI容器(如uWSGI, Gunicorn, uWSGI等)以启动Django服务器。
- 在早期版本中,Django项目可能只有一个根WSGI应用;而在现代Django项目中,可能涉及多个WSGI应用组合。
-
(2)app目录
└── APP名称 # APP名称├── __init__.py # 包初始化文件├── admin.py # 注册管理后台界面中的模型├── apps.py # 定义当前app相关的信息├── migrations # 模型相关的数据迁移历史记录文件│ └── __init__.py # 包初始化文件├── models.py # 数据库模型├── tests.py # 用于编写单元测试└── views.py # 主要逻辑处理模块,负责接收 HTTP 请求并返回响应
- APP名称 是Django应用程序目录,它遵循Django应用组织的标准结构,用于组织可重用的功能模块。
__init__.py- 此文件是空的,但它表明当前目录 是一个Python包,里面包含其他子模块或文件。
- admin.py
- 如果应用需要注册管理后台界面(Admin Site)中的模型,则应在该文件中编写自定义的ModelAdmin类,以便管理和编辑数据库表中的记录。
- 如果没有特定需求,可以保持为空或者注释掉。
- apps.py
- 此文件定义了 应用本身,包括应用的元数据(如名称、路径等)、是否启用该应用,以及与其他应用的关系(如有依赖)。
- migrations
- 存储与模型相关的数据迁移历史记录文件(
.py)和应用状态文件(.pyc)。 - 当更改了 “models.py” 中的模型结构时,Django会根据这些变更生成新的迁移文件,用于更新数据库结构以保持一致。
- 存储与模型相关的数据迁移历史记录文件(
- models.py
- 该文件定义了的数据库模型(也称为数据结构或对象)。
- 每个模型继承自
django.db.models.Model并定义字段及其属性,例如字段类型、验证规则、外键关联等。它是实现业务逻辑的基础,并最终决定了数据库表的设计。
- tests.py
- 用于编写单元测试(Unit Tests)的模块,确保 应用中各个功能模块正确无误地工作。
- 通过
unittest.TestCase类或使用更高级别的测试框架如pytest进行测试用例编写。
- views.py
- 视图(Views)是 应用中的主要逻辑处理模块,负责接收 HTTP 请求并返回响应。
- 它们是Django URL 路由系统与用户交互的核心部分,定义了如何解析请求、调用相应的业务逻辑以及构建最终返回的响应数据。
- 每个视图通常与 URLconf 中的一个 URL 路由关联起来。
相关文章:
Django下载使用、文件介绍
【一】下载并使用 【1】下载框架 (1)注意事项 计算机名称不要出现中文python解释器版本不同可能会出现启动报错项目中所有的文件名称不要出现中文多个项目文件尽量不要嵌套,做到一项一夹 (2)下载 Django属于第三方模块&#…...
Docker进阶:Docker-cpmpose 实现服务弹性伸缩
Docker进阶:Docker-cpmpose 实现服务弹性伸缩 一、Docker Compose基础概念1.1 Docker Compose简介1.2 Docker Compose文件结构 二、弹性伸缩的原理和实现步骤2.1 弹性伸缩原理2.2 实现步骤 三、技术实践案例3.1 场景描述3.2 配置Docker Compose文件3.3 使用 docker-…...
opencv各个模块介绍(2)
Features2D 模块:特征检测和描述子计算模块,包括SIFT、SURF等算法。 Features2D 模块提供了许多用于特征检测和描述子匹配的函数和类,这些函数和类可用于图像特征的提取、匹配和跟踪。 FeatureDetector:特征检测器的基类…...
HTTPS:原理、使用方法及安全威胁
文章目录 一、HTTPS技术原理1.1 主要技术原理1.2 HTTPS的工作过程1.2.1 握手阶段1.2.2 数据传输阶段 1.3 HTTPS的安全性 二、HTTPS使用方法三、HTTPS安全威胁四、总结 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer)&am…...
【云开发笔记No.6】腾讯CODING平台
腾讯云很酷的一个应用,现在对于研发一体化,全流程管理,各种工具层出不穷。 云时代用云原生,再加上AI,编码方式真是发生了质的变化。 从前,一个人可以写一个很酷的软件,后来,这变得…...
20.Ubuntu下安装GCC
文章目录 Ubuntu下安装GCC查看官方安装指导错误缺少gmp库缺少32位开发库libcg: error: gengtype-lex.c: No such file or directoryreference 欢迎访问个人网络日志🌹🌹知行空间🌹🌹 Ubuntu下安装GCC 为了支持新的c标准ÿ…...
2.windows ubuntu子系统配置
打开UBuntu后, > wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh #下载conda软件。 > bash Miniconda3-latest-Linux-x86_64.sh #下载完conda后执行这步 > source ~/.bashrc > conda-h #出现一下…...
vscode的一些技巧
技巧1:调试时传参数 在launch.json的configuration中"pwd"或者"program"选项之后添加如下选项: “--args”:["参数1", "参数2", ..., "参数3] 参数之间使用逗号隔开 技巧2:断点 普通断点使…...
JavaEE企业级分布式高级架构师课程
教程介绍 本课程主要面向1-5年及以上工作经验的Java工程师,大纲由IT界知名大牛 — 廖雪峰老师亲自打造,由来自一线大型互联网公司架构师、技术总监授课,内容涵盖深入spring5设计模式/高级web MVC开发/高级数据库设计与开发/高级响应式web开发…...
c语言函数大全(K开头)
c语言函数大全(K开头) There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should leave quickly. 函数名…...
高效备考2025年AMC8竞赛:吃透2000-2024年600道真题(免费送题)
我们继续来随机看五道AMC8的真题和解析,根据实践经验,对于想了解或者加AMC8美国数学竞赛的考生来说,吃透AMC8历年真题是备考更加科学、有效的方法之一。 最近有家长朋友问我,现在有哪些类似于奥数的比赛可以参加?我的…...
HTML5和CSS3新特性
Html新增属性 1.新增语义化标签 <header>:头部标签 <nav>:导航标签 <article>:内容标签 <section>:定义文档某个区域 <aside>:侧边栏标签 <footer>:尾部标签 2.…...
Java基础-正则表达式
文章目录 1.基本介绍2.正则底层实现1.matcher.find()完成的任务2.matcher.group(0)分析1.源代码2.解释(不分组)3.解释(分组) 3.总结 3.正则表达式语法1.基本介绍2.元字符的转义符号1.基本介绍2.代码实例 3.字符匹配符1.基本介绍2.…...
构建Pytorch虚拟环境教程
构建PyTorch虚拟环境通常涉及使用诸如Anaconda或venv等工具来管理Python环境,以便在一个独立的空间中安装PyTorch和其他依赖项。以下是使用Anaconda创建PyTorch虚拟环境的步骤(适用于不同操作系统,包括Windows、Linux和MacOS)&…...
uniapp页面嵌套其他页面的实现
功能: 类似于一个drawer,当主页面加载的时候会一并加载url对应的组件,当点击后以drawer形式显示组件里面的内容,可动画。 <navigator url"/pages/my/components/personalMessage" slot"right"><view><di…...
XUbuntu22.04之安装Plantuml(二百二十三)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...
第四周刷题小结
第一天 P1068 [NOIP2009 普及组] 分数线划定 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路: 这个题感觉不难,主要是用到了结构体cmp的自定义排序,但是还是错了一次,就是没注意到题目给的条件。 #include<iostream&g…...
基于Java中的SSM框架实现考研指导平台系统项目【项目源码+论文说明】
基于Java中的SSM框架实现考研指导平台系统演示 摘要 应对考研的学生,为了更好的使校园考研有一个更好的环境好好的学习,建议一个好的校园网站,是非常有必要的。提供学生的学习提供一个交流的空间。帮助同学们在学习高数、学习设计、学习统计…...
项目2-用户登录
1.创建项目 2.引入前端代码并检查是否有误 3.定义接口 需求分析 对于后端开发⼈员⽽⾔, 不涉及前端⻚⾯的展⽰, 只需要提供两个功能 1. 登录⻚⾯: 通过账号和密码, 校验输⼊的账号密码是否正确, 并告知前端 2. ⾸⻚: 告知前端当前登录⽤⼾. 如果当前已有⽤⼾登录, 返回登录的账…...
网易web安全工程师进阶版课程
课程介绍 《Web安全工程师(进阶)》是由“ i春秋学院联合网易安全部”出品,资深讲师团队通过精炼的教学内容、丰富的实际场景及综合项目实战,帮助学员纵向提升技能,横向拓宽视野,牢靠掌握Web安全工程师核心…...
保姆级教程:在ROS2 Humble/Foxy的Gazebo中配置RGB-D相机(附解决点云颜色/坐标问题)
ROS2 Humble/Foxy中Gazebo深度相机仿真全攻略:从配置到点云问题解决在机器人仿真开发中,深度相机(RGB-D)是不可或缺的传感器之一。它能够同时提供彩色图像和深度信息,为SLAM、物体识别、避障等任务提供关键数据支持。本…...
Godot中型项目工程化实践:目录规范、资源引用与状态管理
1. 这不是续集,而是项目落地的分水岭“Godot 游戏引擎项目(二)”——看到这个标题,很多人第一反应是:“哦,上一篇讲了环境搭建和Hello World,这篇该讲节点树和信号了?”但我在带三个…...
组态王通用扫码枪配置
使用组态王扫码枪驱动,是绑定变量,扫码后直接就可以显示扫码内容。解决每次扫码输入数据时必须先用鼠标点进输入框内的问题。驱动安装先添加驱动,亚控网站的文件为 barcodescanner,这个文件是组态王通用扫码枪的驱动,但…...
什么情况下会核销贷款
贷款核销的核心前提是:贷款被认定为 “损失类” 且经 “穷尽追偿” 仍无法收回,银行按监管与会计规则从账面冲销,但债权不消灭、仍可追偿。一、核心认定条件(满足其一即可)破产 / 注销 / 吊销:借款人和担保…...
Unity塔防底层架构:ScriptableObject驱动的数据契约设计
1. 这不是“又一个塔防模板”,而是塔防开发的底层操作系统我第一次在Asset Store点开Tower Defense Toolkit 4(TDTK-4)的预览图时,下意识划走了——界面太“干净”了,没有炫酷的粒子特效演示,没有满屏飞舞的…...
基于Atmega 1284P的16位复古计算器:硬件设计与软件实现全解析
1. 项目概述与核心思路最近在整理工作室时,翻出了一堆老旧的7段数码管和矩阵键盘,看着这些充满复古气息的元件,一个想法冒了出来:为什么不自己动手做一台复古风格的计算器呢?不是那种用液晶屏显示的现代计算器…...
模式分层预测驱动推断:处理复杂缺失数据的统计新框架
1. 项目概述:当数据“缺胳膊少腿”时,如何做出靠谱的推断?在数据科学和统计建模的日常工作中,我们最怕遇到什么?不是复杂的算法,也不是海量的数据,而是数据本身“缺胳膊少腿”——也就是缺失值。…...
结肠“瑞士卷”制片法
在肠道病理研究中,如何完整保留小鼠结肠的全层结构、同时避免人为损伤,一直是实验操作的难点。本文分享一套改良版“瑞士卷”制片技术,无需剖开肠管、无需机械顶压,即可获得高质量的全结肠切片,特别适合炎症、隐窝异常…...
别再只会用--nogpgcheck了!手把手教你安全修复PostgreSQL yum源的GPG密钥问题
企业级PostgreSQL部署:安全解决GPG密钥验证的完整方案 当你在生产环境中部署PostgreSQL时,遇到GPG签名验证错误直接使用--nogpgcheck绕过检查,就像因为门锁打不开就直接把门拆掉一样危险。本文将带你深入理解GPG验证机制,并提供一…...
Midjourney V6锐化失控?3步诊断+5组--sref/--stylize协同参数公式,立竿见影修复模糊与锯齿
更多请点击: https://intelliparadigm.com 第一章:Midjourney V6锐化失控的本质归因 Midjourney V6 引入的全新扩散架构与隐式细节增强机制,导致图像生成过程中高频纹理被过度强化,其根本原因并非参数误配,而是模型在…...
