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

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

mysql中如何保证没有幻读发生

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

Golang实践录:go发布版本信息收集

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

字节跳动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…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found"​, "n…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块&#xff0…...

第八部分:阶段项目 6:构建 React 前端应用

现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...