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安全工程师核心…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
