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安装使用指南
相关推荐
Freak嵌入式9 小时前
MicroPython LVGL基础知识和概念:显示与多屏管理
开发语言·python·github·php·gui·lvgl·micropython
枕布响丸辣9 小时前
Python 操作 MySQL 数据库从入门到精通
数据库·python·mysql
The_Ticker9 小时前
印度股票实时行情API(低成本方案)
python·websocket·算法·金融·区块链
ZC跨境爬虫9 小时前
Scrapy工作空间搭建与目录结构解析:从初始化到基础配置全流程
前端·爬虫·python·scrapy·自动化
EAIReport10 小时前
国外网站数据批量采集技术实现路径
开发语言·python
Ulyanov10 小时前
基于ttk的现代化Python音视频播放器:UI设计与可视化技术深度解析
python·ui·音视频
Freak嵌入式10 小时前
MicroPython LVGL基础知识和概念:时序与动态效果
开发语言·python·github·php·gui·lvgl·micropython
zhangzeyuaaa10 小时前
Python 中的 Map 和 Reduce 详解
开发语言·python
七夜zippoe11 小时前
Java技术未来展望:GraalVM、Quarkus、Helidon等新趋势探讨
java·开发语言·python·quarkus·graaivm·helidon
m0_7381207211 小时前
网络安全编程——Python编写基于UDP的主机发现工具(解码IP header)
python·网络协议·tcp/ip·安全·web安全·udp