[特殊字符] Django 常用命令
🚀 Django 常用命令大全:从开发到部署
Django 提供了许多实用的命令,可以用于 数据库管理、调试、测试、用户管理、运行服务器、部署 等。
本教程将详细介绍 Django 开发中最常用的命令,并提供 示例,帮助你更高效地使用 Django。
📌 1. Django 开发环境相关命令
✅ 1.1 创建 Django 项目
django-admin startproject 项目名称
- 作用:创建一个新的 Django 项目
{项目名称},生成settings.py、manage.py等文件。 - 项目目录结构:
myproject/ ├── manage.py ├── {项目名称}/ │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ ├── asgi.py │ ├── wsgi.py
✅ 1.2 创建 Django 应用(App)
python manage.py startapp 应用名称
-
作用:在
myproject项目下创建{应用名称}应用(App)。 -
应用目录结构:
{应用名称}/ ├── migrations/ ├── __init__.py ├── admin.py ├── apps.py ├── models.py ├── tests.py ├── views.py -
注意:创建
App后,需要在settings.py中注册:INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','myapp', # ✅ 注册应用 ]
📌 2. 运行服务器
✅ 2.1 启动 Django 服务器
python manage.py runserver
-
作用:启动 Django 内置的开发服务器(默认监听
127.0.0.1:8000)。 -
如果要修改端口:
python manage.py runserver 8080 -
如果要监听所有 IP(适用于局域网调试):
python manage.py runserver 0.0.0.0:8000
📌 3. 数据库操作
✅ 3.1 生成数据库迁移文件
python manage.py makemigrations
- 作用:Django 检测
models.py变更 并生成数据库迁移文件(不会真正修改数据库)。
✅ 3.2 应用迁移文件
python manage.py migrate
- 作用:执行
migrations/目录下的迁移文件,真正修改数据库。
✅ 3.3 显示所有迁移状态
python manage.py showmigrations
- 作用:显示哪些迁移已应用,哪些未应用。
✅ 3.4 还原迁移(回滚)
python manage.py migrate myapp 0001_initial # 回滚到某个迁移版本
python manage.py migrate myapp zero # 删除所有迁移
✅ 3.5 清空数据库(危险!)
python manage.py flush
- 作用:清除数据库中的所有数据(但不会删除表结构)。
- ⚠️ 注意:这个命令会 清空所有用户数据!
✅ 3.6 强制重新应用迁移(危险!)
python manage.py migrate --fake 应用名称 zero
python manage.py migrate 应用名称
📌 4. Django Shell(交互式调试)
✅ 4.1 启动 Django Shell
python manage.py shell
- 作用:进入交互式 Python 环境,直接操作 Django ORM、查询数据库、调试代码。
✅ 4.2 使用 Django Shell 查询数据
from myapp.models import Chat# 查询所有 Chat 记录
chats = Chat.objects.all()
print(chats)# 创建新数据
new_chat = Chat.objects.create(user_id=1, title="测试对话")
print(new_chat.id)
✅ 4.3 启动 Django Shell 并支持 IPython
python manage.py shell_plus --ipython
shell_plus(需要安装django-extensions):
好处:pip install django-extensions- 自动加载所有
models.py - 更强的语法高亮
- 更丰富的调试工具
- 自动加载所有
📌 5. 用户管理
✅ 5.1 创建超级用户
python manage.py createsuperuser
- 作用:创建 Django 管理员账户,可用于
http://127.0.0.1:8000/admin/ - 示例:
Username: admin Email: admin@example.com Password: ******
✅ 5.2 修改用户密码
python manage.py changepassword admin
- 作用:修改
admin用户的密码。
✅ 5.3 查看所有用户
from django.contrib.auth.models import User
users = User.objects.all()
print(users)
📌 6. 测试 Django 应用
✅ 6.1 运行测试
python manage.py test 应用名称
- 作用:运行
myapp/tests.py里的所有测试。
✅ 6.2 编写简单测试
在 tests.py 里:
from django.test import TestCase
from myapp.models import Chatclass ChatTest(TestCase):def test_create_chat(self):chat = Chat.objects.create(user_id=1, title="测试聊天")self.assertEqual(chat.title, "测试聊天")
然后运行:
python manage.py test
📌 7. 静态文件管理
✅ 7.1 收集静态文件
python manage.py collectstatic
- 作用:将
static/目录下的所有静态文件收集到STATIC_ROOT目录。
📌 8. 数据库备份与导入
✅ 8.1 导出数据库数据
python manage.py collectstatic
- 作用:将数据库数据导出为 JSON 格式。
✅ 8.2 导入数据库数据
python manage.py loaddata db.json
- 作用:从
db.json重新导入数据。
📌 9. 生产环境相关
✅ 9.1 运行 Django 服务器(生产模式)
gunicorn myproject.wsgi:application --bind 0.0.0.0:8000
- 需要安装
gunicorn:pip install gunicorn
✅ 9.2 配置 ALLOWED_HOSTS
- 在
settings.py里:ALLOWED_HOSTS = ["mywebsite.com", "127.0.0.1"]
🎯 结论
| 分类 | 常用命令 |
|---|---|
| 创建项目 | startproject、startapp |
| 数据库操作 | makemigrations、migrate、flush、showmigrations |
| 服务器 | runserver |
| 用户管理 | createsuperuser、changepassword |
| Shell 调试 | shell、shell_plus |
| 测试 | test |
| 生产环境 | collectstatic、gunicorn |
相关文章:
[特殊字符] Django 常用命令
🚀 Django 常用命令大全:从开发到部署 Django 提供了许多实用的命令,可以用于 数据库管理、调试、测试、用户管理、运行服务器、部署 等。 本教程将详细介绍 Django 开发中最常用的命令,并提供 示例,帮助你更高…...
机器视觉运动控制一体机在天地盖同步跟随贴合解决方案
市场应用背景 纸盒天地盖是一种包装形式,广泛应用于消费电子、食品礼盒、奢侈品及化妆品等领域。其采用高强度纸板,经过预组装处理,结构坚固稳定,能有效保护产品并提升品牌形象。随着包装行业快速发展,市场对天地盖的…...
B站文生视频模型工程实践
1.前言 近年来,AI 内容生成(AIGC)领域的快速发展令人雀跃,OpenAI 在 2023 年初推出大型语言模型(LLM)GPT-4 受到了学术界和工业界的极大关注。OpenAI 随后在 2024 年初推出文生视频(T2V…...
嵌入式开发:傅里叶变换(5):基于STM32,实现CMSIS中的DSP库
目录 步骤 1:准备工作 步骤 2:创建 Keil 项目,并配置工程 步骤 3:在MDK工程上添加 CMSIS-DSP 库 步骤 5:编写代码 步骤 6:配置时钟和优化 步骤 7:调试与验证 步骤 8:优化和调…...
【人工智能】GPT-4 vs DeepSeek-R1:谁主导了2025年的AI技术竞争?
前言 2025年,人工智能技术将迎来更加激烈的竞争。随着OpenAI的GPT-4和中国初创公司DeepSeek的DeepSeek-R1在全球范围内崭露头角,AI技术的竞争格局开始发生变化。这篇文章将详细对比这两款AI模型,从技术背景、应用领域、性能、成本效益等多个方…...
【Python项目】基于深度学习的车辆特征分析系统
【Python项目】基于深度学习的车辆特征分析系统 技术简介:采用Python技术、MySQL数据库、卷积神经网络(CNN)等实现。 系统简介:该系统基于深度学习技术,特别是卷积神经网络(CNN),用…...
【江科大STM32】TIM输入捕获模式PWMI模式测频率
一、输入捕获测频率 接线图: 测信号的输入引脚为PA6,信号从PA6进来,待测的PWM信号也是STM32自己生成的,输出引脚是PA0,所以接线这里直接用一根线将PA0引到PA6就可以了。 如果有信号发生器的话,也可以设置成…...
K8S学习之基础十六:k8s中Deployment更新策略
滚动更新 滚动更新是一种自动化程度较高的发布方式、用户体验比较平滑、是目前成熟型技术组织采用的主流发布方式,一次滚动发布一般有若干发布批次组成,每批的数量一般都是可配置的,可通过发布模板定义,例如第一批10%,…...
Django 5实用指南(十二)异步处理与Celery集成
在现代Web应用中,异步任务的处理是提升应用性能和响应速度的关键。Django5提供了对异步任务的支持,尤其是通过集成Celery来处理后台任务。Celery是一个强大的分布式任务队列,可以让我们将耗时的操作(如发送邮件、生成报告、处理图…...
EtherNet/IP转Modbus解析基于网关模块的罗克韦尔PLC与Modbus上位机协议转换通讯案例
在工业自动化控制系统中,常常会遇到不同品牌和通信协议的设备需要协同工作的情况。本案例中,客户现场采用了 AB PLC,但需要控制的变频器仅支持 Modbus 协议。为了实现 AB PLC 对变频器的有效控制与监控,引入了捷米特 JM-EIP-RTU 网…...
Devart dbForge Studio for MySQL Enterprise 9.0.338高效数据库管理工具
Devart dbForge Studio for MySQL Enterprise 9.0.338 是一款功能强大的 MySQL 数据库管理工具,专为数据库开发人员和管理员设计。它提供了丰富的功能,帮助用户更高效地管理、开发和维护 MySQL 数据库 Devart dbForge Studio for MySQL Enterprise 9.0.…...
linux | Vim 命令快捷操作
注:本文为过去的 “vim 使用笔记”。 跳转命令 跳转命令 #:向前查找光标当前所在单词,并跳转到该单词的上一个出现位置。*:向后查找光标当前所在单词,并跳转到该单词的下一个出现位置。 行内跳转 0:跳转…...
android12 屏幕亮度控制修改为线性变化
由于高版本的亮度调节不是线性变化了,有客户反馈在Android11或者12上使用代码获取亮度不对,比如我们在设置中查看屏幕亮度是80%,读出来的亮度值是100,客户认为亮度值是39%。 获取屏幕亮度 adb shell settings get system screen…...
STM32-USART串口数据包
一:HEX数据包发送 1.为了收发数据包,先定义两个缓存区的数组 ,这4个数据只存储发送或者接收的载荷数据,包头和包尾不存 uint8_t Serial_TxPacket[4]; uint8_t Serial_RxPacket[4]; uint8_t Serial_RxFlag;//接收一个数据包就置F…...
轻闪PDF(Windows傲软PDF编辑软件)2.15.2中文安装版
前言 轻闪pdf是个很好用的文件编辑软件,它能让大家编辑文档变得更简单、更快。这个软件特别厉害,能从照片里直接“抓”出文字来,让你打字变得更轻松。而且,它还能把PDF文件变成其他格式的文件,反过来也行。还有啊&…...
Python-07PDF转Word
2025-03-04-PDF转Word DeepSeek等大模型从来都不是简单的写一个静态博客这么肤浅(太多博主都只讲这个内容了)借助全网大神的奇思妙想,拓展我狭隘的思维边界。 文章目录 2025-03-04-PDF转Word [toc]1-参考网址2-学习要点3-核心逻辑4-核心代码 …...
Arcgis中添加脚本工具箱
文章目录 准备资料1、打开arcmap2、找到目录窗口3、复制粘贴工具箱的路径4、添加或者确认python脚本路径准备资料 (1)工具箱 (2)python脚本 1、打开arcmap 2、找到目录窗口 3、复制粘贴工具箱的路径 4、添加或者确认python脚本路径 脚本上右键属性(注意:脚本内容和路径…...
拥抱健康养生,开启活力生活
在快节奏的现代生活中,健康养生已成为人们关注的焦点,它不仅是对身体的呵护,更是一种积极的生活态度。 合理饮食是健康养生的基石。我们应秉持均衡膳食的理念,谷物、蔬菜、水果、蛋白质类食物一个都不能少。每天保证足够的蔬菜摄入…...
字节跳动AI原生编程工具Trae和百度“三大开发神器”AgentBuilder、AppBuilder、ModelBuilder的区别是?
字节跳动AI编程工具Trae与百度"三大开发神器"(AgentBuilder、AppBuilder、ModelBuilder)在定位、功能架构和技术路线上存在显著差异,具体区别如下: 一、核心定位差异 Trae:AI原生集成开发环境(AI…...
【MySQL】第十二弹---表连接详解:从内连接到外连接
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【MySQL】 目录 1.表的内连和外连 1.1 内连接 1.2 外连接 1.2.1 左外连接 1.2.1 右外连接 1.3 实战OJ 1.表的内连和外连 表的连接…...
MySQL字段内容加解密使用性能验证
背景: 近期工作中遇到对MySQL表中内容安全要求,需要通过字段内容加密存储的方式来实现。 为真实测试,如有疑问,欢迎解惑。 有多种解决办法,可以通过中间件来实现、数据库层来实现,最终选择了AES对称…...
审批流AntV框架蚂蚁数据可视化X6饼图(附注释)
大家好,这次使用的是AntV的蚂蚁数据可视化X6框架,类似于审批流的场景等,代码如下: X6框架参考网址:https://x6.antv.vision/zh/examples/showcase/practices#bpmn 可以进入该网址,直接复制下方代码进行调试…...
【SpringBoot】深入解析 Maven 的操作与配置
Maven 1.什么是Maven? Maven是一个项目管理工具,通过pom.xml文件的配置获取jar包,而不用手动去添加jar包; 2. 创建一个Maven项目 IDEA本身已经集成了Maven,我们可以直接使用,无需安装 以下截图的idea版本为ÿ…...
搭建一个简单的node服务,模拟后端接口
目录 一、查看是否安装了node和npm 二、创建一个文件夹,用于放你的node服务代码 三、初始化一个package.json 四、安装 Express(快速搭建服务的框架) 五、创建serve.js 六、运行服务即可 七、测试接口 法一:使用 curl 法…...
【落羽的落羽 C++】C++入门基础:引用,内联,nullptr
文章目录 一、引用1. 引用的概念2. 引用的特点3. 引用的使用4. const引用5. 引用和指针 二、inline内联三、nullptr 一、引用 1. 引用的概念 引用是C中的一个较为重要的概念。它是给已存在变量取的“别名”,编译器不会为引用变量开辟内存空间,它和它引…...
Android 低功率蓝牙之BluetoothGattCallback回调方法详解
BluetoothGattCallback 是 Android 中用于处理蓝牙低功耗(BLE)设备通信的核心回调类。它负责处理与 BLE 设备的连接、服务发现、数据读写等操作的结果。以下是对 BluetoothGattCallback 的详细解析: 1. onConnectionStateChange 触发时机&am…...
PHP之字符串拼接
在你有别的编程语言的基础下,你想学习PHP,可能要了解的一些关于字符串拼接的信息。 特别注意方法一,在别的语言中基本都是用拼接的。 方法一:(直接拼接) $x 123; echo "hello" . $x;方法二:(多输出拼接) …...
Python的那些事第四十一篇:简化数据库交互的利器Django ORM
Django ORM:简化数据库交互的利器 摘要 随着互联网技术的飞速发展,Web开发越来越受到重视。Django作为一款流行的Python Web框架,以其高效、安全、可扩展等特点受到了广大开发者的喜爱。其中,Django ORM(对象关系映射)是Django框架的核心组件之一,它为开发者提供了一种…...
通过多线程同时获取H264和H265码流
目录 一.RV1126 VI采集摄像头数据并同时编码H264、H265的大概流程编辑编辑 1.1初始化VI模块: 1.2H264、H265的VENC模块初始化: 1.3VI分别绑定H264的VENC层和H265的VENC层: 1.4开启H264线程采集H264的VENC数据ÿ…...
DeepSeek V3 源码:从入门到放弃!
从入门到放弃 花了几天时间,看懂了DeepSeek V3 源码的逻辑。源码的逻辑是不难的,但为什么模型结构需要这样设计,为什么参数需要这样设置呢?知其然,但不知其所以然。除了模型结构以外,模型的训练数据、训练…...
