首先我们需要先确定好自己电脑上的python解释器环境,否则会导致后面项目所需要的库安装不了以及项目无法运行的问题。

一、Django框架下载

要下载Django并开始使用它,你可以按照以下步骤进行:

1、安装Python

首先,确保你的计算机上已经安装了Python。你可以从 Python官方网站 下载最新版本的Python,并按照说明进行安装。

2、安装Django

你可以使用Python的包管理工具pip来安装Django。打开命令行终端(Windows下为命令提示符或PowerShell,Mac和Linux下为终端),然后运行以下命令来安装最新版本的Django:

pip install django==3.2.12

如果之前下载了其他版本不用管

Python解释器会将旧版本卸载,安装指定的版本,即自动替换!!!

3、验证安装

(1)Python文件

在你的Python解释器安装目录下的 Scripts 文件夹下 会出现一个 django-admin.exe的文件

(2)命令行终端

终端输入会出现如下,原理就是调用了Scripts下的django-admin

如果确定自己安装成功了,但是就是在终端没效果,那一定是你的环境有问题!

当前是否能正常打印Python解释器版本

核验自己安装的Django到底是安装在了哪个Python解释器上

django-admin --version

4、安装注意事项

计算机名称不要出现中文

python解释器版本不同可能会出现启动报错

项目中所有的文件名称不要出现中文

多个项目文件尽量不要嵌套,做到一项一夹

二、命令行基本使用

1、创建Django项目

在命令行中,进入到你想要创建Django项目的目录,然后运行以下命令来创建一个新的Django项目:

django-admin startproject projectname

其中,projectname是你的项目名称。这将在当前目录下创建一个名为projectname的Django项目。

例如

查看当前文件夹下内容,会发现多了一个文件夹,文件夹下有很多对应的文件

2、运行开发服务器

进入到刚刚创建的Django项目目录,运行以下命令启动Django的开发服务器:

python manage.py runserver

然后,在浏览器中访问 http://127.0.0.1:8000/,你就能看到Django的欢迎页面,表明你的Django项目已经成功运行。

例如

首先切换刚刚创建的项目路径

cd C:\Users\Xiao\test01

然后运行项目,即可提起项目

提起项目之后,输入网址127.0.0.1:8000,得到下面的页面即算成功。

3、创建APP

(1)语法

python3 manage.py startapp 应用名

应用名一般为英文

(2)示例

同上,在当前 manage.py 所在终端目录下

python3 manage.py startapp app01

# 上面命令不生效,试试 python3 能不能进入到python解释器,如果不能,换下面的试试

python manage.py startapp app01

查看当前文件夹下会发现多了一个 app01 文件夹

(3)注册APP

创建APP后,如果想使用相关的功能,必须将创建的APP注册到配置文件中

即在settings中加入下述内容

INSTALLED_APPS = [

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

# 找到对应的配置内容中,加入当前新创建的APP的名字

'app01'

]

四、PyCharm基本使用

1、创建Django项目

(1)创建项目

File ---> New Project

(2)创建成功

创建完成后的目录结构

ps:test01只有一个哈,创建只能创建app来实现功能啊

2、启动Django项目

(1)配置启动

点击右上角的启动按钮启动项目

3、创建APP

(1)方式一:命令行

打开终端

执行命令

python .\manage.py startapp app01

如果创建出现错误请看最下面的问题补充

(2)方式二:借助工具

找到 Tools ---> Run manage.py Task

并没有结束哦,请继续下面的操作

4、注册APP

创建APP后,如果想使用相关的功能,必须将创建的APP注册到配置文件中

即在settings中加入下述内容

INSTALLED_APPS = [

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

# 这个app01是第一步创建Django项目的时候自动注册的

'app01.apps.App01Config',

# 找到对应的配置内容中,加入当前新创建的APP的名字

'app02'

]

这样一个完整的Django项目就实现了

注意:自动注册的只有一次,后面创建的不可能自动注册,只能手动注册

五、Django项目文件介绍

1、Django空项目

├── Django项目名 # 整体项目名

├── db.sqlite3 # Django默认的db数据库,sqlite3

├── manage.py # Django的服务控制文件,所有的Django命令都是基于manage.py 来执行的

└── mysite # 项目名

├── __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项目名

这是您为该项目创建时指定的名称,比如 "mysite"。

每个Django项目都有一个唯一的名称,并且在整个项目目录下作为顶级目录存在。

db.sqlite3

这是Django默认使用的SQLite数据库文件。

SQLite是一个轻量级的关系型数据库管理系统,无需服务器运行,所有数据存储在一个文件中。

在这个项目中,SQLite被用作开发阶段的数据存储和本地测试环境的默认选项。

manage.py

这是Django的核心服务控制脚本,包含了各种用于管理和维护项目、应用程序以及运行Django服务器的内置命令。

通过manage.py,您可以执行如创建数据库、迁移模型、创建超级用户、运行开发服务器等操作。

mysite

__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项目

└── app01 # APP 名字

├── __init__.py # 包初始化文件

├── admin.py # 注册管理后台界面中的模型

├── apps.py # 定义当前app相关的信息

├── migrations # 模型相关的数据迁移历史记录文件

│ └── __init__.py # 包初始化文件

├── models.py # 数据库模型

├── tests.py # 用于编写单元测试

└── views.py # 主要逻辑处理模块,负责接收 HTTP 请求并返回响应

app1 是一个名为 "app01" 的Django应用程序目录,它遵循Django应用组织的标准结构,用于组织可重用的功能模块。

__init__.py

此文件是空的,但它表明当前目录 "app01" 是一个Python包,里面包含其他子模块或文件。

admin.py

如果您的 "app01" 应用需要注册管理后台界面(Admin Site)中的模型,则应在该文件中编写自定义的ModelAdmin类,以便管理和编辑数据库表中的记录。

如果没有特定需求,可以保持为空或者注释掉。

apps.py

此文件定义了 "app01" 应用本身,包括应用的元数据(如名称、路径等)、是否启用该应用,以及与其他应用的关系(如有依赖)。

migrations

存储与 "app01" 模型相关的数据迁移历史记录文件(.py)和应用状态文件(.pyc)。

当您更改了 "models.py" 中的模型结构时,Django会根据这些变更生成新的迁移文件,用于更新数据库结构以保持一致。

models.py

该文件定义了 "app01" 中的数据库模型(也称为数据结构或对象)。

每个模型继承自 django.db.models.Model 并定义字段及其属性,例如字段类型、验证规则、外键关联等。它是实现业务逻辑的基础,并最终决定了数据库表的设计。

tests.py

用于编写单元测试(Unit Tests)的模块,确保 "app01" 应用中各个功能模块正确无误地工作。

通过unittest.TestCase类或使用更高级别的测试框架如pytest进行测试用例编写。

views.py

视图(Views)是 "app01" 中的主要逻辑处理模块,负责接收 HTTP 请求并返回响应。

它们是Django URL 路由系统与用户交互的核心部分,定义了如何解析请求、调用相应的业务逻辑以及构建最终返回的响应数据。

每个视图通常与 URLconf 中的一个 URL 路由关联起来。

补充 Django框架中应用的概念

在Django框架中,应用程序(Application)是组织和管理项目代码的基本单元。

它不仅包含了与特定业务逻辑相关的模型、视图、模板以及URL配置,还可能包括 forms、signals、中间件、管理后台等组件,实现了项目的模块化设计。

1、介绍

Django框架就像是一个高度模块化的操作系统,为开发者提供了基础设施和服务,如数据库连接、认证授权、请求处理等。

2、比喻

(1)大学与学院

Django框架相当于是一所大学,应用相当于是大学里面的各个学院

大学相当于是个空壳子

负责提供环境

学院才是一个个真正具备特定功能的集合

(2)操作系统与服务

每个应用就像是操作系统中的一个进程或服务,负责处理特定领域的任务和数据操作。

用户应用(user)关注用户的注册、登录、权限管理等功能;

订单应用(order)主要处理商品购买、订单状态跟踪、支付确认等相关事务;

商品应用(goods)专注于商品信息管理、分类展示、搜索推荐等功能;

后台管理应用(backend)则通常包含对系统设置、数据统计、权限控制等方面的集中管理和维护。

3、示例

使用django写一个淘宝,淘宝里面有很多功能模块

我们应该先创建一个空的django项目然后根据功能的不同创建不同的应用

django项目

应用名

业务

user

用户相关业务:管理用户账户信息(账号、密码、角色、权限)、用户行为记录、消息通知等

order

订单相关业务:负责订单生成、订单详情展示、订单状态变更、支付接口调用、物流追踪及订单评价等

goods

产品相关业务:包括商品分类管理、商品详情展示、库存管理、商品评论、浏览记录等

promotion

促销相关业务:针对促销活动的规划、优惠券发放、满减规则设置、折扣计算等;

category

商品类别业务:用于商品类别树的构建、导航菜单设置、新品上架、热门推荐等;

logistics

物流相关业务:对接物流公司API以获取物流信息、快递单号追踪等功能;

statistics

数据分析相关业务:收集并分析平台各项运营数据,如访问量、转化率、客单价等,为决策提供支持;

相关问题补充

Django 版本对应的 Python 版本

如果你的django项目出现了此问题,并且搜寻了大量的博客寻求解决并仔细检查过自己的虚拟环境、系统环境之后确定安装了django,却还是出现此问题

问题是python版本和Django版本不兼容,需要安装自己对应的Django版本。