Django多App项目URL配置与跨App调用详解

方予
方予
发布时间:2026-10-14 | 4人浏览过
原创

本文详细介绍Django项目中配置多个App的URL路由方法。通过示例展示如何在主urls.py中分发请求至各App,并配置各App的独立urls.py与views。同时涵盖settings.py中的App注册及启动服务命令,最后说明如何在不同App间通过导入models实现跨App数据访问。

Django多App项目初始化与基础配置

首先进行快速测试,创建Django项目并生成多个App。

执行以下命令创建名为mysite的项目,并分别创建app1和app2两个应用: django-admin startproject mysite django-admin startapp app1 django-admin startapp app2

主路由与子应用URL配置

接下来配置mysite项目根目录下的urls.py文件,作为主路由入口。


from django.contrib import admin
from django.urls import include, path

urlpatterns = [
  path('admin/', admin.site.urls),
  path('app1/', include('apps.app1.urls',namespace='app1')),
  path('app2/', include('apps.app2.urls',namespace= 'app2')),
]

在app1中创建apps.py文件,定义应用配置类。


from django.apps import AppConfig
class App1Config(AppConfig):
  name = 'apps.app1'

在app2中同样创建apps.py文件,定义对应的应用配置类。


from django.apps import AppConfig
class App2Config(AppConfig):
  name = 'apps.app2'

配置app1目录下的urls.py,定义该应用的路由规则。


from django.urls import path
from . import views

app_name = 'app1'

urlpatterns = [
  path('index', views.index),
]

配置app2目录下的urls.py,定义该应用的路由规则。


from django.urls import path
from . import views
app_name = 'app2'
urlpatterns = [
  path('index', views.index),
]

编写app1目录下的views.py,实现视图逻辑。


from django.shortcuts import render
from django.shortcuts import HttpResponse
def index(request):
  return HttpResponse('hello app1')

编写app2目录下的views.py,实现视图逻辑。


from django.shortcuts import render
from django.shortcuts import HttpResponse
def index(request):
  return HttpResponse('hello app2')

App注册与服务启动

在settings.py文件中注册App配置,确保Django能正确识别各应用。

在INSTALLED_APPS中添加具体配置路径:'apps.app1.apps.App1Config', 'apps.app2.apps.App2Config'

完成配置后,启动Django开发服务器进行测试。

使用命令启动服务并指定端口:python manage.py runserver 8080

启动成功后,通过浏览器访问对应的URL路径以验证配置是否生效。

跨App模型调用方法

在此架构下,若需在一个App中访问另一个App定义的Model,需进行特定导入操作。

使用标准导入语句:from apps.app名.models import 模型类

以上内容涵盖了Django多App项目的基本配置流程,希望对您的开发工作有所帮助,欢迎继续支持本站获取更多技术资源。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表