Django开发入门 – 2.Django的Web应用项目架构

Django开发入门 -- 2.Django的Web应用项目架构

The Project Structure of Django Web Application

By Jackson@ML

1. 创建Django项目

1) 获取安装Python最新版

获取Django是为了安装和使用它,由于Django是基于Python的Web开发框架,因此,需要先行安装Python 3.13.x最新版本。相关获取和安装步骤参照文章:
2025最新版Python 3.13.1安装使用指南

2) 虚拟环境准备

为了在单独的虚拟环境安装,确保django独立稳定运行,需要事先为Django的Web应用项目创建一个虚拟环境。

Venv是包含在Python标准库的一个包,用以创建独立的虚拟环境。

创建虚拟环境共有以下几个步骤:

a) 创建一个django项目文件夹:
bash 复制代码
$ mkdir django_venv
b) 创建虚拟环境

可以执行以下命令,以创建符合用户要求的虚拟环境:

bash 复制代码
$ python3 -m venv django_venv
c) 激活虚拟环境

切换到该项目文件夹的bin子目录,执行以下命令:

bash 复制代码
$ source django_venv/bin/activate
3)获取Django

笔者在前文提到,获取Django可以在Windows或者macOS系统进行下载和安装,获取方式略有不同:

  • 安装Django for Windows
    以管理员身份运行打开Windows命令行窗口(cmd),并执行以下安装命令安装Django:
bash 复制代码
/> pip install django
  • 安装Django for Mac
    同样,需要使用pip安装django,执行以下命令:
bash 复制代码
$ pip install django
4) 创建Django项目

在Terminal中创建项目,使用django-admin命令,并且假定项目名称为django_project:

bash 复制代码
$ django-admin startproject django_project

2. Django的项目架构

前述的startproject是默认的项目模版,由它创建的项目,在Python虚拟环境中,包含如下的文件结构:(以macOS文件系统为例)

3.Django的应用架构

在项目下,由startapp命令创建的,是所谓的django apps,假如以下命令执行:

bash 复制代码
$ django-admin startapp hello_world

那么,其app架构的文件结构如下:

处于开发需要,为了管理服务器,可能还需要编写bash脚本,取名为resetdb.sh(用于重置数据库),以及runserver.sh(启动服务器)。

脚本内容可用Vim编辑器等来编写,以备调用。

其中,resetdb.sh脚本样例可参考如下:

4.更多信息

线上有更多参考信息,可查阅:

  1. Getting started with Django
  2. Django Tutorial
  3. Realpython.com/tutorials/django

相关阅读:

  1. Django开发入门 - 0.Django基本介绍
  2. Django开发入门 - 1.搭建基于Python Web框架Django的IDE开发环境
  3. 2025最新版Python 3.13.1安装使用指南
  4. 2025最新版Anaconda Navigator安装使用指南
  5. 2025最新版PyCharm安装使用指南
  6. 2025最新版Visual Studio Code安装使用指南
相关推荐
Frag0ut1 小时前
Notepad++ 零基础入门:从记事本到代码编辑器的平滑过渡(2026最新版)
python·编辑器·html·json·notepad++·markdown·记事本
深蓝AI1 小时前
Webhook 重投别再执行两次:Python + SQLite 收件箱实测
python
Eider19981 小时前
Python基础知识之并发相关-2
开发语言·前端·python
第九序言T1 小时前
Python 数据处理进阶(二十二)用 Pandas 做一次完整的用户行为分析
开发语言·python·数据分析·pandas
云和数据.ChenGuang1 小时前
再论深拷贝和浅拷贝
开发语言·人工智能·python·1024程序员节
第九序言T1 小时前
Python 数据处理进阶(二十一)相关性与分组对比:数据里藏着什么关系
大数据·人工智能·python·数据分析·pandas
Gent_倪1 小时前
Python 语句梳理
python
m0_738120722 小时前
JWT 安全从入门到实战:六种典型攻击场景解析
前端·网络·python·安全·网络安全
用户298698530142 小时前
Python 实现 HTML 转纯文本:两种场景下的文档模型方案
python·html·api
小小张说故事3 小时前
Python 的赋值为什么不会复制对象?拆开引用、浅拷贝与深拷贝
后端·python