多个应用共存的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如何通过protobuf实现rpc
Mar 06 Python
Python实现的插入排序算法原理与用法实例分析
Nov 22 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
python+flask实现API的方法
Nov 21 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
利用Python半自动化生成Nessus报告的方法
Mar 19 Python
详解python:time模块用法
Mar 25 Python
对DJango视图(views)和模版(templates)的使用详解
Jul 17 Python
python opencv将图片转为灰度图的方法示例
Jul 31 Python
python 实现图片修复(可用于去水印)
Nov 19 Python
python四种出行路线规划的实现
Jun 23 Python
Python matplotlib多个子图绘制整合
Apr 13 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
一个oracle+PHP的查询的例子
2006/10/09 PHP
第十五节--Zend引擎的发展
2006/11/16 PHP
php中实现记住密码自动登录的代码
2011/03/02 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
扩展String功能方法
2006/09/22 Javascript
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
jQuery随便控制任意div隐藏的方法
2013/06/28 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
js 开发之autocomplete="off"在chrom中失效的解决办法
2017/09/28 Javascript
vue使用自定义icon图标的方法
2018/05/14 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
python 捕获shell脚本的输出结果实例
2017/01/04 Python
Python中turtle作图示例
2017/11/15 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
Python 多维List创建的问题小结
2019/01/18 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
详解python破解zip文件密码的方法
2020/01/13 Python
2014厂务公开实施方案
2014/02/17 职场文书
体育系毕业生求职自荐信
2014/04/16 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
群众路线调研报告范文
2014/11/03 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
五年级上册复习计划
2015/01/19 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书