1-Django框架简介以及基本操作
安装
注意:安装的磁盘目录,以及后续通过
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
是一个名为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 路由关联起来。
1-Django框架简介以及基本操作的更多相关文章
- MySQL在Django框架下的基本操作(MySQL在Linux下配置)
[原]本文根据实际操作主要介绍了Django框架下MySQL的一些常用操作,核心内容如下: ------------------------------------------------------ ...
- Python学习(三十)—— Django框架简介
转载自:http://www.cnblogs.com/liwenzhou/p/8296964.html Django框架简介 一.MVC框架和MTV框架(了解即可) MVC,全名是Model View ...
- Django框架简介及模板Template,filter
Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View) ...
- Django框架简介与使用注意事项
一.Django框架简介 MVC框架和MTV框架 MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model). ...
- python 之 Django框架(Django框架简介、视图装饰器、request对象、Response对象)
12.33 Django框架简介: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器( ...
- wsgiref模块、web框架、django框架简介
"""web框架:将前端.数据库整合到一起的基于互联网传输的python代码 web框架也可以简单的理解为是软件开发架构里面的'服务端'""" ...
- 手动搭建简易web框架与django框架简介
目录 纯手写简易web框架 基于wsgiref模块 动静态网页 简单了解jinja2模块 框架请求流程 python主流web框架 django框架 简介 应用app 命令操作django pycha ...
- Python学习笔记_04:Django框架简介
目录 1 什么是Django? 2 Django框架的开发环境搭建 3 Django操作MySql数据库简介 4 功能强大的Django管理工具应用 1 什么是Django? Django是应用于We ...
- Django框架简介,wsgiref 与 jinja2 模块
目录 框架简介 wsgiref模块 jinja2 模块 框架简介 Django是一个web开发框架,用来开发web应用,本质就是, web框架+socket服务端 MVC框架和MTV框架 MVC,全名 ...
- Django框架:1、手撸web框架、Django框架简介、安装与使用和小白必会三板斧
Django框架 目录 Django框架 一.Django推导流程 1.纯手撸web框架 2.基于wsgire模块 3.代码封装优化 4.动静态网页 5.jinja2模块 6.前端.后端.数据库三者联 ...
随机推荐
- [转帖]Windows磁盘性能压测(2)-Fio
http://www.manongjc.com/detail/59-qftscgqzitmxpaw.html 目录 一.腾讯云官网硬盘性能指标 二.使用fio测试硬盘性能指标 1. 测试工具相关 2. ...
- 日常测试进行beans比较的简单方法
日常测试进行beans比较的简单方法 摘要 想每天把有变化的bean抓取出来有新增的beans时能够及时进行分析和介入 保证beans 都是符合规范的. 方式和方法 开启actuator 打开bean ...
- [转帖]SystemStap、BCC、bpftrace
https://plantegg.github.io/2019/09/16/SystemStap/ Linux 4.4+ 支持 eBPF.基于 eBPF 可以将任何内核函数调用转换成可带任何 数据的用 ...
- pytest.ini配置文件
pytest.ini文件是pytest框架独有的配置文件,主要作用就是在运行pytest.main时可指定运行顺序,也 就相当于在Terminal输入pytest+参数+路径效果一致,下面介绍几种简单 ...
- 你不知道的Promise状态变化机制
1.Promise中PromiseStatus的三种状态 var p = new Promise((resolve, reject) => { // resolve 既是函数也是参数,它用于处理 ...
- python3 牛客网:OJ在线编程常见输入输出练习(ACM模式)
牛客网: 校招笔试真题_C++工程师.golang工程师_牛客网 其他语言输入输出见链接 1.输入两个数,输入数据包括多组. while True: try: a = list(map(int,inp ...
- 全网最详细超长python学习笔记、14章节知识点很全面十分详细,快速入门,只用看这一篇你就学会了!
相关文章: 全网最详细超长python学习笔记.14章节知识点很全面十分详细,快速入门,只用看这一篇你就学会了! [1]windows系统如何安装后缀是whl的python库 [2]超级详细Pytho ...
- 2.4 CE修改器:代码替换功能
代码替换功能,需要使用 Cheat Engine 工具的"代码查找"功能,来查找游戏数据存储在内存中的地址.首先找到当前数值的存储地址,并将其添加到下方地址列表中.然后右键单击该地 ...
- django批量插入,遇到错误改为逐条插入
为了提升插入数据的效率,通常采用批量插入的方式,当一批数据中有错误数据时,该批次数据报错,都插入失败.如何跳过引起报错的数据,将其他正确的数据插入,实现方式如下代码. data_to_insert = ...
- How to 充分利用你的服务器
服务器高性能计算指南 本文处于preview阶段,内容并不完全严谨,如有错误敬请原谅,适当参考. 目录 服务器高性能计算指南 什么样的计算适合当前服务器? 从CPU架构入手 两个CPU带来的影响 那么 ...