安装

注意:安装的磁盘目录,以及后续通过Django创建目录的时候,不要出现中文,否则会出现预料之外的错误

建议:禁止套娃,即不要在A项目中创建B项目

# 如果不指定版本号,默认最新版
pip install django # 如果要指定版本,使用==版本号
pip install django==3.2.12

查看是否安装成功

可以通过pip list查看,也可以通过控制台输入django-admin,弹出类似如下的画面表示安装成功

也可以通过pip show django查看,有类似页面也表示安装成功

Name: Django
Version: 3.2.12

常见命令行运行命令

项目创建

# 创建一个项目
# 这里的项目名称基于python命名规范
django-admin startproject 项目名称 # 建议提前通过cd等命令进入指定目录然后去创建
django-admin startporject douban_spider

项目启动

# 进入到刚刚创建的项目根目录
# IP和PORT可选,默认是本地的 127.0.0.1:8000
python3 manage.py runserver [IP:PORT] # 例如下面几个均可
python manage.py runserver
python manage.py runserver 8000
python manage.py runserver localhost:8080

项目启动之后直接浏览器访问对应的地址,或者按住CTRL鼠标左键点击地址访问。

创建APP

# 一样是需要进入项目根目录
# 创建语法
python manage.py startapp 应用名 # 例如
python manage.py startapp app

注册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就是你刚刚通过命令创建的app名称
'app'
]

通过pycharm操作

创建项目

需要pycharm专业版才可以哦~

File --> New Project --> 左侧选择Django --> Location地址后面加一个\然后跟上项目名称 --> 解释器可以根据实际情况自己去选择 --> create

通过pycharm创建的Django项目,如果在Application name输入了app名称就会自动创建并注册app

Django配置

创建APP

# 打开终端后,执行命令行工具即可
python .\manage.py startapp app_name

这种也属于命令行去创建,一样需要自己去注册APP

伪代码项目介绍

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

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

应用名 业务
user 用户相关业务:管理用户账户信息(账号、密码、角色、权限)、用户行为记录、消息通知等
order 订单相关业务:负责订单生成、订单详情展示、订单状态变更、支付接口调用、物流追踪及订单评价等
goods 产品相关业务:包括商品分类管理、商品详情展示、库存管理、商品评论、浏览记录等
promotion 促销相关业务:针对促销活动的规划、优惠券发放、满减规则设置、折扣计算等;
category 商品类别业务:用于商品类别树的构建、导航菜单设置、新品上架、热门推荐等;
logistics 物流相关业务:对接物流公司API以获取物流信息、快递单号追踪等功能;
statistics 数据分析相关业务:收集并分析平台各项运营数据,如访问量、转化率、客单价等,为决策提供支持;

项目文件介绍

空项目

  ├── 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应用组合。

APP项目

如果说整个Django相当于一所大学,那么APP就相当于大学里面的一所学院。

└── app01					# APP 名字
├── __init__.py # 包初始化文件
├── admin.py # 注册管理后台界面中的模型
├── apps.py # 定义当前app相关的信息
├── migrations # 模型相关的数据迁移历史记录文件
│ └── __init__.py # 包初始化文件
├── models.py # 数据库模型
├── tests.py # 用于编写单元测试
└── views.py # 主要逻辑处理模块,负责接收 HTTP 请求并返回响应

分支说明

app1 是一个名为 app01Django应用程序目录,它遵循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 路由关联起来。

1-Django框架简介以及基本操作的更多相关文章

  1. MySQL在Django框架下的基本操作(MySQL在Linux下配置)

    [原]本文根据实际操作主要介绍了Django框架下MySQL的一些常用操作,核心内容如下: ------------------------------------------------------ ...

  2. Python学习(三十)—— Django框架简介

    转载自:http://www.cnblogs.com/liwenzhou/p/8296964.html Django框架简介 一.MVC框架和MTV框架(了解即可) MVC,全名是Model View ...

  3. Django框架简介及模板Template,filter

    Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View) ...

  4. Django框架简介与使用注意事项

    一.Django框架简介 MVC框架和MTV框架 MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model). ...

  5. python 之 Django框架(Django框架简介、视图装饰器、request对象、Response对象)

    12.33 Django框架简介: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器( ...

  6. wsgiref模块、web框架、django框架简介

    """web框架:将前端.数据库整合到一起的基于互联网传输的python代码 web框架也可以简单的理解为是软件开发架构里面的'服务端'""" ...

  7. 手动搭建简易web框架与django框架简介

    目录 纯手写简易web框架 基于wsgiref模块 动静态网页 简单了解jinja2模块 框架请求流程 python主流web框架 django框架 简介 应用app 命令操作django pycha ...

  8. Python学习笔记_04:Django框架简介

    目录 1 什么是Django? 2 Django框架的开发环境搭建 3 Django操作MySql数据库简介 4 功能强大的Django管理工具应用 1 什么是Django? Django是应用于We ...

  9. Django框架简介,wsgiref 与 jinja2 模块

    目录 框架简介 wsgiref模块 jinja2 模块 框架简介 Django是一个web开发框架,用来开发web应用,本质就是, web框架+socket服务端 MVC框架和MTV框架 MVC,全名 ...

  10. Django框架:1、手撸web框架、Django框架简介、安装与使用和小白必会三板斧

    Django框架 目录 Django框架 一.Django推导流程 1.纯手撸web框架 2.基于wsgire模块 3.代码封装优化 4.动静态网页 5.jinja2模块 6.前端.后端.数据库三者联 ...

随机推荐

  1. Win10 查看无线局域网的密码

    1. 打开命令行 输入 control 打开控制面板 2. 进入网络和共享中心 3. 打开连接 4. 使用如下进行查看.

  2. 基于Spring Cache实现Caffeine、jimDB多级缓存实战

    作者: 京东零售 王震 背景 在早期参与涅槃氛围标签中台项目中,前台要求接口性能999要求50ms以下,通过设计Caffeine.ehcache堆外缓存.jimDB三级缓存,利用内存.堆外.jimDB ...

  3. Orika JavaBean映射工具使用

    作者:京东零售 张宾 1.Orika是什么? Orika是一个简单.快速的JavaBean拷贝框架,它能够递归地将数据从一个JavaBean复制到另一个JavaBean,这在多层应用开发中是非常有用的 ...

  4. 【JS 逆向百例】Ether Rock 空投接口 AES256 加密分析

    关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...

  5. 开源IM项目OpenIM 客户端SDK架构剖析-确保消息的有序性,以及消息百分百可达

    开源IM项目OpenIM第二版对于客户端架构进行了局部重构,解决了消息触发时序等bug,也梳理了内部模块.目前已经接近尾声,本文重点讲解SDK架构,以便大家深入了解OpenIM,并希望大家能深度参与开 ...

  6. 【转载】基于Tablestore Timeline的IM(即时通讯)消息系统架构 - 架构篇

    本文原作者:木洛,阿里云高级技术专家,内容有优化和修订,感谢原作者.原文链接:https://developer.aliyun.com/article/698301 IM全称是『Instant Mes ...

  7. 深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解

    A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC.mAP.IS.FID.Perplexity.BLEU.ROUGE等详解 1.基础指标简介 机器学习的评价指标有精度.精确率.召回率.P-R曲 ...

  8. C/C++ 常用的四种查找算法

    在计算机科学中,搜索算法是一种用于在数据集合中查找特定元素的算法.C语言作为一种强大的编程语言,提供了多种搜索算法的实现方式.本文将介绍C语言中的四种常见搜索算法其中包括(线性查找,二分法查找,树结构 ...

  9. 2.8 CE修改器:寻找共享代码

    本关我们将学习共享代码,在C语言中角色属性都是以结构体的方式进行存储的,而结构体所存储的信息都是连续性的,这一关我们将会解释如何处理游戏中的共用代码,这种代码是通用在除了自己以外的其他同类型对像上的常 ...

  10. 8.4 ProcessHeap

    ProcessHeap 是Windows进程的默认堆,每个进程都有一个默认的堆,用于在进程地址空间中分配内存空间.默认情况下ProcessHeap由内核进行初始化,该堆中存在一个未公开的属性,它被设置 ...