安装

注意:安装的磁盘目录,以及后续通过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. [转帖]15 个必须知道的 chrome 开发工具技巧

    在Web开发者中,Google Chrome是使用最广泛的浏览器.六周一次的发布周期和一套强大的不断扩大开发功能,使其成为了web开发者必备的工具.你可能已经熟悉了它的部分功能,如使用console和 ...

  2. 浪潮的CS5260F CS5260H CS5260Z

    助力国产操作系统新生态!麒麟信安与东方通.浪潮.新华三.长城超云等多家生态伙伴完成产品兼容性认证 作者:湖南麒麟信安科技股份有限公司时间:2022-03-11 16:28:11 我要发布 关键词: 国 ...

  3. echarts控制柱状图柱条的宽度

    barWidth属性 series: [{ name: '销量', type: 'bar', barWidth : 30,//柱图宽度 data: [5, 20, 36, 10, 10, 20] }]

  4. golang 中使用 writev (sendmsg) 系统调用来一次发送多块数据

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 writev,或者说 sendmsg 等系统调用,能够发送 ...

  5. Docker系列教程01--简介

    Docker 入门教程   作者: 阮一峰 日期: 2018年2月 9日 2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业. 但是,许多人并不清楚 Docker 到底是什么, ...

  6. 压缩软件 WinRAR 去广告

    别去中国的那个代理网站下载 去国外的官网下载英文版或者湾湾版的, 这样用网上的rarreg.key文件方式就没有广告了, 不然中国的就是有广告. 这里是湾湾版的链接: https://pan.baid ...

  7. 语义检索系统之排序模块:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练的单塔模型

    语义检索系统之排序模块:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练的单塔模型 文本匹配任务数据每一个样本通常由两个文本组成(query,title ...

  8. Linux基础命令 [补档-2023-06-28]

    Linux基础命令 1-1.命令的基本格式 ​ Linux系统命令的通用格式为: ​ command [-options] [parameter] ​ 其中 ​ -command 命令本身 ​ -op ...

  9. 遥感图像处理笔记之【Multi-label Land Cover Classification with Deep Learning】

    遥感图像处理学习(3) 前言 遥感图像处理方向的学习者可以参考或者复刻 本文初编辑于2023年12月14日 2024年1月24日搬运至本人博客园平台 文章标题:Multi-label Land Cov ...

  10. centos7.9离线升级openssl和openssh9.2

    前言 最近有几台服务器漏扫出了关于openssh的漏洞,升级完后顺便记录一下. 环境 CentOS Linux release 7.9.2009 (Core) 开始升级 准备工作 下载安装包: zli ...