当前位置: 首页 > article >正文

[特殊字符] Django 常用命令

🚀 Django 常用命令大全:从开发到部署

        Django 提供了许多实用的命令,可以用于 数据库管理、调试、测试、用户管理、运行服务器、部署 等。
        本教程将详细介绍 Django 开发中最常用的命令,并提供 示例,帮助你更高效地使用 Django。


📌 1. Django 开发环境相关命令

✅ 1.1 创建 Django 项目

 
django-admin startproject 项目名称
  • 作用:创建一个新的 Django 项目 {项目名称},生成 settings.pymanage.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"]
    


🎯 结论

分类常用命令
创建项目startprojectstartapp
数据库操作makemigrationsmigrateflushshowmigrations
服务器runserver
用户管理createsuperuserchangepassword
Shell 调试shellshell_plus
测试test
生产环境collectstaticgunicorn

相关文章:

[特殊字符] Django 常用命令

🚀 Django 常用命令大全:从开发到部署 Django 提供了许多实用的命令,可以用于 数据库管理、调试、测试、用户管理、运行服务器、部署 等。 本教程将详细介绍 Django 开发中最常用的命令,并提供 示例,帮助你更高…...

机器视觉运动控制一体机在天地盖同步跟随贴合解决方案

市场应用背景 纸盒天地盖是一种包装形式,广泛应用于消费电子、食品礼盒、奢侈品及化妆品等领域。其采用高强度纸板,经过预组装处理,结构坚固稳定,能有效保护产品并提升品牌形象。随着包装行业快速发展,市场对天地盖的…...

B站文生视频模型工程实践

1.前言 近年来,AI 内容生成(AIGC)领域的快速发展令人雀跃,OpenAI 在 2023 年初推出大型语言模型(LLM)GPT-4 受到了学术界和工业界的极大关注。OpenAI 随后在 2024 年初推出文生视频(T2V&#xf…...

嵌入式开发:傅里叶变换(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%&#xff0c…...

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版本为&#xff…...

搭建一个简单的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数据&#xff…...

DeepSeek V3 源码:从入门到放弃!

从入门到放弃 花了几天时间,看懂了DeepSeek V3 源码的逻辑。源码的逻辑是不难的,但为什么模型结构需要这样设计,为什么参数需要这样设置呢?知其然,但不知其所以然。除了模型结构以外,模型的训练数据、训练…...