如何在django下建立多个app
来源:互联网 发布:拍电影需要什么软件 编辑:程序博客网 时间:2024/05/29 17:10
django是MTV模式,即template(页面展现),modle(数据库表对象),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="stylesheet"/>,这样问题1就解决了
问题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
- DAVE SDK 4.1.2 Help content —— 如何在父APP中建立多个APP
- 在apache下建立多个站点
- VS2010如何在同一个解决方案下建立多个项目以及切换运行不同项目
- 在pycharm中如何将django中多个app放到同个文件夹apps处理
- 如何在django中使用多个数据库 2014
- 如何在django中使用多个数据库
- 如何在django中使用多个数据库
- 多个APP共存Django配置
- =====如何在apache下建立多个虚拟站点=====
- 如何在WINDOW下安装Django
- 如何在ubuntu 下安装Python Django
- 在Django中如何正确完整地删除一个App
- django 在自己app下编写自定义sql
- 如何在linux 下多用户的建立
- 如何在TOMCAT下建立虚拟文件夹
- 如何在wince下 建立文件夹
- 在Android Studio中如何建立app的assets文件夹
- Kotlin 双冒号 :: 使用
- c语言(1)
- QT中如何在QListWidget中添加自定义的 tiem
- 自定义ExpandableListView分割线
- windows命令合集
- 如何在django下建立多个app
- 开发经验
- js_String
- intend启动系统的组件
- sql server 连接 oracle 总结
- mac上安装配置启动nginx,实现反向代理
- AndroidStudio使用时gradle插件版本太低
- alexnet笔记(ImageNet Classification with Deep Convolutional Neural Networks)
- mapping创建 添加记录到es