多个应用共存的Django配置方法


Posted in Python onMay 30, 2018

1.配置环境

安装python3
安装python3-pip
通过pip安装Django
**如果需要使用Jinja模板,需要通过pip安装django-jinja与jinja2**

2. 新建Django工程

django-admin startproject rcsiteproject

其目录结构如下图所示:

多个应用共存的Django配置方法

3.新建app

python3 manage.py startapp app1
python3 manage.py startapp app2

多个应用共存的Django配置方法

4.配置app的urls

在每个app中新建urls文件

多个应用共存的Django配置方法

在rcsiteproject中的urls.py文件包含每个app的url。

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

5.配置setting.py

INSTALLED_APPS = (
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'app1',
 'app2'
)

6.添加文件中共同引用的commontemplates与commonstatic文件夹

多个应用共存的Django配置方法

在setting中配置static及template

HERE = os.path.dirname(os.path.dirname(__file__))
MEDIA_ROOT = os.path.join( HERE ,'media').replace('\\','/') 
MEDIA_URL = '/media/' 
STATIC_ROOT = os.path.join(HERE,'static').replace('\\','/')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
 # add other path no app static 
 os.path.join(HERE,'commonstatic/').replace('\\','/'),
)

配置templates ‘DIRS'.

TEMPLATES = [
 {
 'BACKEND': 'django.template.backends.django.DjangoTemplates',
 'DIRS': [(os.path.join(BASE_DIR, 'commontemplates')),],
 'APP_DIRS': True,
 'OPTIONS': {
  'context_processors': [
  'django.template.context_processors.debug',
  'django.template.context_processors.request',
  'django.contrib.auth.context_processors.auth',
 'django.contrib.messages.context_processors.messages',
  ],
 },
 },

7.配置template Jinja2解析

INSTALLED_APPS = [
 'django_jinja'
]
TEMPLATES = [
 {
 "BACKEND": "django_jinja.backend.Jinja2",
 'DIRS': [(os.path.join(BASE_DIR, 'commontemplates')),],
 "APP_DIRS": True,
 "OPTIONS": {
  "app_dirname": "templates",
  "match_extension": ".html",
 }
 },
 {
 'BACKEND': 'django.template.backends.django.DjangoTemplates',
 'DIRS': [(os.path.join(BASE_DIR, 'commontemplates')),],
 'APP_DIRS': True,
 'OPTIONS': {
  'context_processors': [
  'django.template.context_processors.debug',
  'django.template.context_processors.request',
  'django.contrib.auth.context_processors.auth',
  'django.contrib.messages.context_processors.messages',
  ],
 },
 },
]

上述文章有什么不之处,欢迎大家指正。

Python 相关文章推荐
用python实现的去除win下文本文件头部BOM的代码
Feb 10 Python
详解Python编程中time模块的使用
Nov 20 Python
Python实现统计代码行的方法分析
Jul 12 Python
python实现TF-IDF算法解析
Jan 02 Python
python SSH模块登录,远程机执行shell命令实例解析
Jan 12 Python
Python变量赋值的秘密分享
Apr 03 Python
基于wxPython的GUI实现输入对话框(1)
Feb 27 Python
python爬虫 线程池创建并获取文件代码实例
Sep 28 Python
pytorch 彩色图像转灰度图像实例
Jan 13 Python
Python3 实现爬取网站下所有URL方式
Jan 16 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
keras 权重保存和权重载入方式
May 21 Python
python实现支付宝当面付(扫码支付)功能
May 30 #Python
详解Python3.6安装psutil模块和功能简介
May 30 #Python
python3之模块psutil系统性能信息使用
May 30 #Python
python批量导入数据进Elasticsearch的实例
May 30 #Python
用python简单实现mysql数据同步到ElasticSearch的教程
May 30 #Python
django1.11.1 models 数据库同步方法
May 30 #Python
Python使用tkinter库实现文本显示用户输入功能示例
May 30 #Python
You might like
PHP中,文件上传
2006/12/06 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
PHP生成随机字符串(3种方法)
2015/09/25 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
Gambit vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
控制文字内容的显示与隐藏示例
2014/06/11 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
jquery实现的代替传统checkbox样式插件
2015/06/19 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
js返回顶部实例分享
2016/12/21 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
python实现绘制树枝简单示例
2014/07/24 Python
python字符类型的一些方法小结
2016/05/16 Python
Python yield 使用方法浅析
2017/05/20 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
python操作excel让工作自动化
2019/08/09 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
浅谈Python中的继承
2020/06/19 Python
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
Linux常见面试题
2013/03/18 面试题
婚礼证婚人证婚词
2014/01/08 职场文书
捐书活动倡议书
2015/04/27 职场文书