Django应用创建与分布式路由配置详解

橘子海
橘子海
发布时间:2026-10-13| 4人浏览过
原创

本文详解Django中应用的创建流程及分布式路由配置。涵盖使用startapp命令生成应用结构、在settings.py中注册应用,以及通过include函数实现主项目与子应用的路由分发,帮助开发者构建模块化Web应用。

Django应用创建与分布式路由配置详解

前言

在Django项目架构中,应用(App)被视为一个独立的业务功能模块。它具备完整的独立性,可以各自包含专属的路由定义、视图逻辑、模板文件以及数据模型。

创建应用程序的步骤

一、创建应用程序

创建步骤

首先需要利用manage.py脚本中的startapp子命令来生成应用对应的文件夹结构。

随后,必须在项目的settings.py配置文件中的INSTALLED_APPS列表里添加该应用的名称,以完成应用的注册与安装。

创建应用的子命令

执行命令:python3 manage.py startapp 应用名称。注意,应用名称必须符合Python标识符的命名规范。

例如,若需创建一个名为“音乐”的应用,可执行命令:python3 manage.py startapp 音乐。

Django的应用的结构组成

migrations文件夹 保存数据迁移的中间文件
__inti__.py 应用子包的初始化文件
admin.py 应用的后台管理配置文件
apps.py 应用的属性配置文件
models.py 与数据库相关的模型映射类文件
tests.py 应用的单元测试文件
views.py 定义视图处理函数的文件

为了让新创建的应用能够无缝融入整个Django项目,需要在settings.py中进行相应的配置。


# file : settings.py 
INSTALLED_APPS = [
  ... ...,
  '自定义应用名称'
]

具体配置示例如下:


INSTALLED_APPS = [
  # ....
  'user', # 用户信息模块
  'music', # 音乐模块
]

应用的分布式路由配置

二、应用的分布式路由

在Django框架中,主项目文件夹(根目录)通常不直接处理具体的用户业务请求。其主要职责是进行项目的初始化工作以及请求的分发调度。具体的业务请求处理可以交由各个子应用来完成。

django.conf.urls里的包含函数

该函数的主要作用是将当前匹配到的路由请求,分发并转发到各个子模块的urlpatterns列表中进行分布式处理。

函数调用格式为:include('应用程序名字.URL模块名')。

参数说明:目标模块(App)对应的url模块名.py文件中,必须存在一个名为urlpatterns的列表,用于定义该应用的具体路由规则。

以下示例展示了如何使用include函数,将匹配到的正则表达式路径关联到特定的应用分支:


# file : <项目名>/urls.py
from django.conf.urls import include

urlpatterns = [
  url(r'^admin/', admin.site.urls),
  url(r'^music/', include('music.urls')),
]

##################

# file : music/urls.py
from django.conf.urls import url
from . import views

urlpatterns = [
  url(r'^page1', views.page1),
  url(r'^page2', views.page2),
  url(r'^page3', views.page3),
  # ...
]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。