多个应用共存的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 相关文章推荐
windows下python模拟鼠标点击和键盘输示例
Feb 28 Python
Python学习笔记之常用函数及说明
May 23 Python
wxPython中文教程入门实例
Jun 09 Python
Python递归遍历列表及输出的实现方法
May 19 Python
详解Golang 与python中的字符串反转
Jul 21 Python
Python3.7中安装openCV库的方法
Jul 11 Python
深入理解Python异常处理的哲学
Feb 01 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
Sep 02 Python
浅谈Python_Openpyxl使用(最全总结)
Sep 05 Python
Python爬取股票信息,并可视化数据的示例
Sep 26 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 Python
python实现简单聊天功能
Jul 07 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和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
php数组使用规则分析
2015/02/27 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
vue+element tabs选项卡分页效果
2020/06/29 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
Sanic框架基于类的视图用法示例
2018/07/18 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
Python如何进行时间处理
2020/08/06 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
为什么要用EJB
2014/04/17 面试题
幼儿园教师奖惩制度
2014/02/01 职场文书
服装采购员岗位职责
2014/03/15 职场文书
创先争优演讲稿
2014/09/15 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
MySQL 分组查询的优化方法
2021/05/12 MySQL
Python数据分析之绘图和可视化详解
2021/06/02 Python
Redis基本数据类型List常用操作命令
2022/06/01 Redis
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python