多个应用共存的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的dict,set,list,tuple应用详解
Jul 24 Python
Python多线程编程简单介绍
Apr 13 Python
Using Django with GAE Python 后台抓取多个网站的页面全文
Feb 17 Python
python中numpy.zeros(np.zeros)的使用方法
Nov 07 Python
python实现自动发送邮件发送多人、群发、多附件的示例
Jan 23 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
Feb 18 Python
pytorch索引查找 index_select的例子
Aug 18 Python
基于python实现蓝牙通信代码实例
Nov 19 Python
Python 实现训练集、测试集随机划分
Jan 08 Python
windows、linux下打包Python3程序详细方法
Mar 17 Python
python基于tkinter制作无损音乐下载工具
Mar 29 Python
python和C/C++混合编程之使用ctypes调用 C/C++的dll
Apr 29 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
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
PHP实现二维数组按某列进行排序的方法
2016/11/18 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
react 父组件与子组件之间的值传递的方法
2017/09/14 Javascript
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
sqlalchemy对象转dict的示例
2014/04/22 Python
Python中集合类型(set)学习小结
2015/01/28 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
在校生党员自我评价
2013/09/25 职场文书
四年级语文教学反思
2014/02/05 职场文书
物流管理专业自荐信
2014/06/23 职场文书
农村文化活动总结
2014/08/28 职场文书
《灰雀》教学反思
2016/02/19 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL