Django是Python生态中非常流行的web开发框架,它内置了丰富的功能模块,能大幅降低web项目的开发成本。下面我们将从零开始,完整演示在Python环境中创建Django项目的全过程。

前期环境准备
在创建Django项目之前,需要确保本地已经安装了Python环境,建议选择Python3.8及以上版本,同时准备好命令行工具,Windows用户可以使用CMD或者PowerShell,macOS和Linux用户使用终端即可。
创建并激活虚拟环境
为了避免不同项目的依赖包冲突,建议为每个Django项目单独创建虚拟环境。首先创建一个项目文件夹,进入该文件夹后执行以下命令:
# 创建虚拟环境,env是虚拟环境的名称,可以自定义 python -m venv env # Windows系统激活虚拟环境 envScriptsactivate # macOS/Linux系统激活虚拟环境 source env/bin/activate
激活成功后,命令行前缀会出现env的标识,代表当前已经进入虚拟环境。
安装Django依赖
在激活的虚拟环境中,使用pip命令安装Django,默认会安装最新稳定版本:
pip install django
安装完成后可以通过以下命令验证Django是否安装成功:
python -m django --version
如果输出了具体的版本号,说明Django已经正确安装。
创建Django项目
安装好Django之后,就可以使用Django自带的命令创建项目了,执行以下命令:
# myblog是项目的名称,可以自定义,注意不要使用Python保留字 django-admin startproject myblog
命令执行完成后,会在当前目录下生成一个名为myblog的文件夹,项目的目录结构如下:
myblog/
├── manage.py
└── myblog/
├── __init__.py
├── settings.py
├── urls.py
├── asgi.py
└── wsgi.py
各个文件的作用说明:
manage.py:Django项目的命令行管理工具,后续的项目运行、数据库迁移等操作都需要通过这个文件执行settings.py:项目的核心配置文件,包含数据库配置、应用注册、中间件配置等内容urls.py:项目的路由配置文件,负责将不同的请求路径映射到对应的处理逻辑asgi.py和wsgi.py:项目部署时使用的接口文件,分别对应异步和同步部署场景
启动Django项目验证
进入外层myblog目录,执行以下命令启动项目:
python manage.py runserver
如果启动成功,命令行会输出如下信息:
Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. August 10, 2023 - 12:00:00 Django version 4.2.0, using settings 'myblog.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.
打开浏览器访问http://127.0.0.1:8000/,如果看到Django的默认欢迎页面,说明项目已经创建并启动成功。
创建Django应用
Django项目中可以包含多个应用,每个应用负责一个独立的功能模块,比如博客项目可以创建文章应用、用户应用等。在项目根目录执行以下命令创建应用:
python manage.py startapp blog
创建完成后会生成blog应用目录,需要在settings.py的INSTALLED_APPS列表中注册该应用:
# myblog/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 注册新创建的应用
'blog',
]
注册完成后,该应用的功能就可以被Django项目识别和使用。
常见问题说明
如果在创建项目过程中遇到端口被占用的问题,可以在启动时指定其他端口:
python manage.py runserver 8080
如果需要让局域网内的其他设备访问项目,可以使用以下命令启动:
python manage.py runserver 0.0.0.0:8000
同时需要修改settings.py中的ALLOWED_HOSTS配置,添加允许的访问地址:
# myblog/settings.py ALLOWED_HOSTS = ['*'] # 测试阶段可以设置为*,生产环境需要指定具体域名