多个应用共存的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根据经纬度计算距离示例
Feb 16 Python
使用Python脚本将绝对url替换为相对url的教程
Apr 24 Python
Python数据库的连接实现方法与注意事项
Feb 27 Python
python3使用PyMysql连接mysql数据库实例
Feb 07 Python
Python语言进阶知识点总结
May 28 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
django实现更改数据库某个字段以及字段段内数据
Mar 31 Python
Python3.7下安装pyqt5的方法步骤(图文)
May 12 Python
pygame用blit()实现动画效果的示例代码
May 28 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 Python
10张动图学会python循环与递归问题
Feb 06 Python
python实现剪贴板的操作
Jul 01 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中与数组相关的函数
2007/03/22 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
JavaScript访问样式表代码
2010/10/15 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
jQuery知识点整理
2015/01/30 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
2019/01/09 jQuery
如何解决vue在ios微信"复制链接"功能问题
2020/03/26 Javascript
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
浅谈Python的异常处理
2016/06/19 Python
利用Python获取操作系统信息实例
2016/09/02 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
对PyQt5中树结构的实现方法详解
2019/06/17 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
在vscode中启动conda虚拟环境的思路详解
2020/12/25 Python
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
如何理解transaction事务的概念
2015/05/27 面试题
党课知识竞赛主持词
2014/04/01 职场文书
家长会演讲稿
2014/04/26 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android