当前位置: 首页 > news >正文

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:特征检测器的基类&#xf…...

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标准&#xff…...

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>&#xff1a;头部标签 <nav>&#xff1a;导航标签 <article>&#xff1a;内容标签 <section>&#xff1a;定义文档某个区域 <aside>&#xff1a;侧边栏标签 <footer>&#xff1a;尾部标签 2.…...

Java基础-正则表达式

文章目录 1.基本介绍2.正则底层实现1.matcher.find()完成的任务2.matcher.group(0)分析1.源代码2.解释&#xff08;不分组&#xff09;3.解释&#xff08;分组&#xff09; 3.总结 3.正则表达式语法1.基本介绍2.元字符的转义符号1.基本介绍2.代码实例 3.字符匹配符1.基本介绍2.…...

构建Pytorch虚拟环境教程

构建PyTorch虚拟环境通常涉及使用诸如Anaconda或venv等工具来管理Python环境&#xff0c;以便在一个独立的空间中安装PyTorch和其他依赖项。以下是使用Anaconda创建PyTorch虚拟环境的步骤&#xff08;适用于不同操作系统&#xff0c;包括Windows、Linux和MacOS&#xff09;&…...

uniapp页面嵌套其他页面的实现

功能: 类似于一个drawer&#xff0c;当主页面加载的时候会一并加载url对应的组件&#xff0c;当点击后以drawer形式显示组件里面的内容&#xff0c;可动画。 <navigator url"/pages/my/components/personalMessage" slot"right"><view><di…...

XUbuntu22.04之安装Plantuml(二百二十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…...

第四周刷题小结

第一天 P1068 [NOIP2009 普及组] 分数线划定 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a; 这个题感觉不难&#xff0c;主要是用到了结构体cmp的自定义排序&#xff0c;但是还是错了一次&#xff0c;就是没注意到题目给的条件。 #include<iostream&g…...

基于Java中的SSM框架实现考研指导平台系统项目【项目源码+论文说明】

基于Java中的SSM框架实现考研指导平台系统演示 摘要 应对考研的学生&#xff0c;为了更好的使校园考研有一个更好的环境好好的学习&#xff0c;建议一个好的校园网站&#xff0c;是非常有必要的。提供学生的学习提供一个交流的空间。帮助同学们在学习高数、学习设计、学习统计…...

项目2-用户登录

1.创建项目 2.引入前端代码并检查是否有误 3.定义接口 需求分析 对于后端开发⼈员⽽⾔, 不涉及前端⻚⾯的展⽰, 只需要提供两个功能 1. 登录⻚⾯: 通过账号和密码, 校验输⼊的账号密码是否正确, 并告知前端 2. ⾸⻚: 告知前端当前登录⽤⼾. 如果当前已有⽤⼾登录, 返回登录的账…...

网易web安全工程师进阶版课程

课程介绍 《Web安全工程师&#xff08;进阶&#xff09;》是由“ i春秋学院联合网易安全部”出品&#xff0c;资深讲师团队通过精炼的教学内容、丰富的实际场景及综合项目实战&#xff0c;帮助学员纵向提升技能&#xff0c;横向拓宽视野&#xff0c;牢靠掌握Web安全工程师核心…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

【Veristand】Veristand环境安装教程-Linux RT / Windows

首先声明&#xff0c;此教程是针对Simulink编译模型并导入Veristand中编写的&#xff0c;同时需要注意的是老用户编译可能用的是Veristand Model Framework&#xff0c;那个是历史版本&#xff0c;且NI不会再维护&#xff0c;新版本编译支持为VeriStand Model Generation Suppo…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...