命令行创建Django项目

这是一份为你整理的 Django 项目创建命令行教程。文档已严格按照 Markdown 格式编写,结构清晰,你可以直接复制并保存为 .md 文件作为你的学习笔记。


Django 项目创建与基础配置笔记

本笔记记录了如何完全通过命令行(CLI)从零开始创建一个 Django 项目,并运行开发服务器。


## 准备工作

在创建 Django 项目之前,建议为项目创建一个独立的虚拟环境,以防不同项目之间的依赖冲突。

1. 创建并激活虚拟环境

打开终端(Terminal)或命令提示符(CMD),执行以下命令:

# 1. 新建并进入项目总目录
mkdir my_django_project
cd my_django_project

# 2. 创建名为 venv 的虚拟环境
python -m venv venv

# 3. 激活虚拟环境
# Windows (Command Prompt):
venv\Scripts\activate
# Windows (PowerShell):
.\venv\Scripts\Activate.ps1
# macOS / Linux:
source venv/bin/activate

提示:激活成功后,命令行提示符前方会出现 (venv) 字样。

2. 安装 Django

在激活的虚拟环境中,使用 pip 安装最新版的 Django:

pip install django


## 核心步骤:创建 Django 项目

Django 提供了内置的命令行工具 django-admin 来自动生成项目结构。

1. 初始化项目

运行以下命令来创建一个名为 mysite 的 Django 项目:

# 注意后面的“.”(点号),它代表在当前目录下直接生成项目文件,避免多嵌套一层同名目录
django-admin startproject mysite .

2. 项目目录结构解析

执行完上述命令后,你的目录结构应该如下所示:

my_django_project/
│
├── manage.py          # 项目的管理工具(运行服务器、数据迁移等都要用到它)
├── venv/              # 虚拟环境文件夹(无需修改)
└── mysite/            # 项目的核心配置包
    ├── __init__.py
    ├── settings.py    # 全局配置文件(数据库、时区、App注册等)
    ├── urls.py        # 路由配置文件(URL 映射)
    ├── asgi.py        # 异步服务网关接口配置
    └── wsgi.py        # 同步服务网关接口配置


## 创建 Django 应用 (App)

在 Django 中,一个项目 (Project) 可以包含多个应用 (App)。应用是实现具体功能的独立模块(如:博客模块、用户管理模块)。

1. 生成 App 目录

创建一个名为 blog 的应用:

python manage.py startapp blog

2. 在配置中注册 App

创建 App 后,必须让 Django 项目知道它的存在。打开 mysite/settings.py,找到 INSTALLED_APPS 列表,将你的 App 添加进去:

# mysite/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    
    # 在这里添加你的 App
    'blog', 
]


## 数据库迁移与启动服务

1. 执行初始数据迁移

Django 自带了一些默认应用(如用户认证、后台管理),它们需要数据库表支持。运行以下命令生成默认的 SQLite 数据库并创建表:

python manage.py migrate

2. 启动本地开发服务器

一切就绪后,启动 Django 内置的测试服务器:

python manage.py runserver

3. 验证成果

看到终端输出 Starting development server at http://127.0.0.1:8000/ 后,打开浏览器访问该网址。如果你看到了一只成功起飞的火箭页面,说明你的 Django 项目已经搭建成功!


## 常用命令行备忘录

在日常开发中,以下命令会频繁使用,建议熟记:

命令 作用
python manage.py runserver 启动开发服务器
python manage.py startapp <app_name> 创建一个新的应用
python manage.py makemigrations 基于 models.py 的修改生成迁移文件
python manage.py migrate 将迁移应用到数据库(实际建表/改表)
python manage.py createsuperuser 创建后台管理系统的超级管理员账号
python manage.py shell 进入带有 Django 环境的 Python 交互式命令行

笔记末尾:按 Ctrl + C 可以停止正在运行的开发服务器。退出虚拟环境请输入 deactivate