[特殊字符] 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 开发中最常用的命令,并提供 示例,帮助你更高…...

mysql中如何保证没有幻读发生
在 MySQL 中,幻读(Phantom Read)是指在一个事务中,两次相同的查询返回了不同的结果集,通常是由于其他事务插入或删除了符合查询条件的数据。为了保证没有幻读,MySQL 主要通过 事务隔离级别 和 锁机制 来实现…...

Golang实践录:go发布版本信息收集
go发布版本信息收集。 背景 本文从官方、网络资料收罗有关go的发布历史概况。主要目的是能快速了解golang不同版本的变更。鉴于官方资料为英文,为方便阅读,使用工具翻译成中文,重要特性参考其它资料补充/修改。由于发布版本内容较多…...

字节跳动AI原生编程工具Trae和百度“三大开发神器”AgentBuilder、AppBuilder、ModelBuilder的区别是?
字节跳动AI编程工具Trae与百度"三大开发神器"(AgentBuilder、AppBuilder、ModelBuilder)在定位、功能架构和技术路线上存在显著差异,具体区别如下: 一、核心定位差异 Trae:AI原生集成开发环境(AI…...

【UCB CS 61B SP24】Lecture 21: Data Structures 5: Priority Queues and Heaps 学习笔记
本文介绍了优先队列与堆,分析了最小堆的插入与删除过程,并用 Java 实现了一个通用类型的最小堆。 1. 优先队列 1.1 介绍 优先队列是一种抽象数据类型,其元素按照优先级顺序被处理。不同于普通队列的先进先出(FIFO)&…...

mapbox高阶,结合threejs(threebox)添加三维球体
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️threebox Sphere静态对象二、🍀使用t…...

QEMU源码全解析 —— 块设备虚拟化(1)
本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 详解全虚拟半虚拟及硬件辅助虚拟化技术-百度开发者中心 特此致谢! 序言 本专栏之前的系列文章,讲了很多QEMU/KVM相关知识,其中一部分内容是设备的虚拟…...

IDEA中Git版本回退终极指南:Reset与Revert双方案详解
目录 前言一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提交历史1.2、选择目标版本1.3、选择回退模式1.3.1、Soft(推荐)1.3.2、Mixed1.3.3、Hard(慎用)1.3.…...

Flutter 学习之旅 之 flutter 使用 flutter_screenutil 简单进行屏幕适配
Flutter 学习之旅 之 flutter 使用 flutter_screenutil 简单进行屏幕适配 目录 Flutter 学习之旅 之 flutter 使用 flutter_screenutil 简单进行屏幕适配 一、简单介绍 二、简单介绍 flutter_screenutil 三、安装 carousel_slider 四、简单案例实现 五、关键代码 六、补…...

实验一:在Windows 10/11下配置和管理TCP/IP
目录 1.【实训目标】 2.【实训环境】 3.【实训内容】 4.【实训步骤】 1.【实训目标】 1.了解网络基本配置中包含的协议、服务、客户端。 2.了解Windows支持的网络协议及参数设置方法。 3.掌握TCP/IP协议的配置。 2.【实训环境】 硬件环境:每人一台计算机&a…...

基于hive的电信离线用户的行为分析系统
标题:基于hive的电信离线用户的行为分析系统 内容:1.摘要 随着电信行业的快速发展,用户行为数据呈现出海量、复杂的特点。为了深入了解用户行为模式,提升电信服务质量和精准营销能力,本研究旨在构建基于 Hive 的电信离线用户行为分析系统。通…...

Rust WebAssembly 入门教程
一、开发环境搭建 1. 基础工具安装 # 安装 Rust curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh# 安装 wasm-pack cargo install wasm-pack# 安装开发服务器 cargo install basic-http-server# 安装文件监听工具 cargo install cargo-watch2. VSCode 插件安装…...

部署RabbitMQ集群详细教程
部署RabbitMQ集群详细教程 下面是一份在 Ubuntu 环境下部署 RabbitMQ 集群的详细步骤说明,涉及主机名设置、Erlang & RabbitMQ 安装、管理插件启用、集群通信 Cookie 配置、节点加入集群、镜像队列策略设置以及集群验证等。为了演示方便,以下示例假…...

20250306JIRA添加企业微信邮箱通知
文章目录 一,参考链接如下二,补充内容1,登录企业邮箱2,设置密码3,设置收发信设置 一,参考链接如下 参考链接:https://blog.csdn.net/icett/article/details/142520823 二,补充内容…...

代码随想录算法训练营第五十七天 | 101. 孤岛的总面积 102. 沉没孤岛 103. 水流问题 104.建造最大岛屿
101. 孤岛的总面积 题目链接:KamaCoder 文档讲解:代码随想录 状态:AC Java代码: import java.util.*;class Main {static int count 0;static int res 0;static boolean island true;public static int[][] dir new int[][]{…...

llamafactory大模型微调教程(周易大模型案例)
1.环境说明 操作系统:ubuntu 20 基础模型:Qwen2.5-1.5B-Instruct 工具:llamafactory GPU:四张4090 2、环境部署 2.1 下载基础模型 # 1、下载 modelscope pip install modelscope#2、模型下载 cd /data/ cat >> download…...

excel 斜向拆分单元格
右键-合并单元格 右键-设置单元格格式-边框 在设置好分割线后,你可以开始输入文字。 需要注意的是,文字并不会自动分成上下两行。 为了达到你期望的效果,你可以通过 同过左对齐、上对齐 空格键或使用【AltEnter】组合键来调整单元格中内容的…...

【JAVA架构师成长之路】【JVM实战】第2集:生产环境内存飙高排查实战
课程标题:生产环境内存飙高排查实战——从堆转储到代码修复的15分钟指南 目标:掌握内存泄漏与OOM问题的系统性排查方法,快速定位代码或配置缺陷 0-1分钟:问题引入与核心现象 线上服务内存持续增长,触发频繁Full GC甚至OOM(OutOfMemoryError),导致服务崩溃。常见诱因:…...

MATLAB实现遗传算法优化风电_光伏_光热_储热优化
1. 问题定义 目标:最小化输出负荷与需求负荷的偏差平方和。决策变量:每个时间步长的风电、光伏、光热和储热输出功率。约束条件: 风电、光伏、光热的输出功率不得超过其最大容量。储热系统的输出功率(充放电)不得超过…...

JCRQ1河马算法+四模型对比!HO-CNN-GRU-Attention系列四模型多变量时序预测
JCRQ1河马算法四模型对比!HO-CNN-GRU-Attention系列四模型多变量时序预测 目录 JCRQ1河马算法四模型对比!HO-CNN-GRU-Attention系列四模型多变量时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基于HO-CNN-GRU-Attention、CNN-GRU-Attent…...

react中的fiber和初次渲染
源码中定义了不同类型节点的枚举值 组件类型 文本节点HTML标签节点函数组件类组件等等 src/react/packages/react-reconciler/src/ReactWorkTags.js export const FunctionComponent 0; export const ClassComponent 1; export const IndeterminateComponent 2; // Befo…...

LLM 大模型基础认知篇
目录 1、基本概述 2、大模型工作原理 3、关键知识点 (1)RAG 知识库 (2)蒸馏 (3)微调 (4)智能体 1、基本概述 大型语言模型(Large Language Model, LLM)…...

leetcode700-二叉搜索树中的搜索
leetcode 700 思路 我们需要先了解一下二叉搜索树的特性: 左子树的所有节点值 < 当前节点的值。右子树的所有节点值 > 当前节点的值。这个特性适用于树中的每个节点 那么根据这个特性,我们可以通过根节点的值和目标值的大小来判断后序的走向&…...

《MySQL三大核心日志解析:Undo Log/Redo Log/Bin Log对比与实践指南》
MySQL三大核心日志解析:Undo Log/Redo Log/Bin Log对比与实践指南 一、核心日志全景概览 在MySQL数据库体系中,Undo Log、Redo Log和Bin Log构成了事务处理和数据安全的三大基石。这三大日志各司其职,协同保障了数据库的ACID特性与高可用架…...

java中实体类常见的设计模式
实体类常见的设计模式 1. Set 链式编程 在实体类中实现链式调用通常是指让 setter 方法返回当前对象实例(this),从而允许连续调用多个 setter 方法设置属性值。这种方式可以使代码更加简洁和直观。 例如实体类为: public clas…...

【够用就好006】如何从零开发游戏上架steam面向AI编程的godot独立游戏制作实录001流程
记录工作实践 这是全新的系列,一直有个游戏制作梦 感谢AI时代,让这一切变得可行 长欢迎共同见证,期更新,欢迎保持关注,待到游戏上架那一天,一起玩 面向AI编程的godot独立游戏制作流程实录001 本期是第…...

发行思考:全球热销榜的频繁变动
几点杂感: 1、单机游戏销量与在线人数的衰退是剧烈的,有明显的周期性,而在线游戏则稳定很多。 如去年的某明星游戏,最高200多万在线,如今在线人数是48名,3万多。 而近期热门的是MH,在线人数8…...

docker目录挂载与卷映射的区别
在 Docker 中,目录挂载(Bind Mount)和卷映射(Volume Mount)的命令语法差异主要体现在路径格式上,具体表现为是否以斜杠(/)开头。以下是两者的核心区别及使用场景的总结: …...

`label` 标签的 `for` 属性详解
一、基本概念 label 标签的 for 属性用于将标签与表单控件(如 input、select 等)绑定,其值需与目标元素的 id 完全匹配。这种关联允许用户点击标签时触发控件交互(如聚焦输入框或切换复选框),提升操作便捷…...

公开笔记:自然语言处理(NLP)中文文本预处理主流方法
在自然语言处理(NLP)领域,将中文文本转化为数字的主流方法主要集中在预训练语言模型和子词编码技术上。这些方法能够更好地捕捉语义信息,并且在各种NLP任务中表现出色。以下是目前主流的文本编码方法: 1. 基于预训练语…...