Django项目中新增App的两种方法及多App配置详解

Dylan
Dylan
发布时间:2026-10-13 | 5人浏览过
原创

本文介绍在Django项目中新增App的两种常用方法:通过PyCharm工具栏或命令行执行startapp命令。创建后需在settings.py中注册。针对多App场景,重点讲解如何通过目录结构区分静态资源,并在urls.py中配置不同App的路由映射,解决同名文件冲突及URL路由问题。

Django新增App的两种基础方法

第一种方法是通过IDE图形界面操作。在pycharm集成开发环境的顶部菜单栏中定位到 Tools 菜单项,点击该选项后展开子菜单,选择“Run manage.py task”功能。此时在pycharm下方的控制台输入区域中,准备输入创建指令。

“startapp appName(你的App名称)”

确认输入无误后按下回车键执行,系统将在工程目录下自动生成对应的新建App文件夹及其初始文件结构。

第二种方法更为直接,适用于熟悉命令行的开发者。直接在底部的终端或命令行窗口中执行以下命令:

python manage.py startapp appName(You are appName)

执行成功后,App即创建完成,无需额外配置即可在项目中识别。

需要注意的是,App创建完成后必须将其注册到项目中才能生效。请找到与django项目名称同名的根包目录,打开其中的settings.py配置文件。定位到INSTALLED_APPS配置项列表,将新添加的app名称字符串追加到列表的最后一行,注意末尾需保留逗号。完成此步骤后,app的创建与注册才算彻底完成。

注意:上述两种方法成功执行的前提是当前Django项目中不存在其他未解决的报错或配置错误,否则可能导致App无法正确生成或注册。

多App项目配置与路由管理

补充知识:如何在django下建立多个app

Django采用MTV设计模式,分别对应template(模板展示)、model(数据模型)和view(视图逻辑)。在实际开发中,随着功能模块的增加,将所有功能耦合在一个App中既不切实际,也违背了高内聚低耦合的网站开发原则。以笔者正在开发的数据可视化分析平台为例,项目名为integrated_display,其中包含两个独立的App:contentms 和 display。建立新App的基本命令为Python

manage.py startapp appname即可。这里重点说明的是,针对不同的app在同一个项目下,

1:对应静态资源(html,css,js)的访问如何区分开来,

2:不同app的url如何书写

静态资源目录隔离方案

解决第一个问题:

如下图所示,展现是contentms 下面的文件,一般新建app,直接在app里面,新建templates和static文件夹,然后将对应的文件放入到里面就行,但是当项目中建立多个app,解决同名冲突,需要在templates下再创建一个文件夹,这样就解决假设有两个app中都有main.html页面,到底跳转到哪个页面的问题,在views.py文件页面跳转 render中在html前加上外面的文件夹的名称,这里是cms,

如:return render(request,'cms/program.html',{'authority':authority,}),

同样在静态文件里面也新建cms文件夹,静态文件内容放入到cms里面,访问静态文件形式

如:<link href="{% static 'cms/css/sweetalert.css'%}" rel="external nofollow" rel="stylesheet"/>,

这样问题1就解决了

多App URL路由配置

问题2:

项目的url.py文件内容


urlpatterns = [
  url(r'^admin/', admin.site.urls),
  url(r'^cms/', include('contentms.urls', namespace="cms")),
  url(r'^display/', include('display.urls', namespace="display")),
]

app contentms的url.py文件内容


urlpatterns = [
  url(r'^admin/', admin.site.urls),
  url(r'^$', views.login, name='login'),

]

app display的url.py文件内容:


urlpatterns = [
 url(r'^admin/', admin.site.urls),
 # url(r'^$', views.platform, name='platform'),
 url(r'^$', views.login, name='login'),
 url(r'^channel/$',views.channel,name='channel'),
 url(r'^program/$',views.program,name='program'),

]

其他按照正常的操作即可,这样即可实现一个项目中建立多个app

以上这篇django项目中新增app的2种实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。

本站声明

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

Python 相关产品和应用

全部下载

专题列表