- Web Development with Django Cookbook(Second Edition)
- Aidas Bendoraitis
- 220字
- 2021-07-23 14:31:58
Defining relative paths in the settings
Django requires you to define different file paths in the settings, such as the root of your media, the root of your static files, the path to templates, the path to translation files, and so on. For each developer of your project, the paths may differ as the virtual environment can be set up anywhere and the user might be working on Mac OS X, Linux, or Windows. Anyway, there is a way to define these paths that are relative to your Django project directory.
Getting ready
To start with, open settings.py
.
How to do it…
Modify your path-related settings accordingly instead of hardcoding the paths to your local directories, as follows:
# settings.py # -*- coding: UTF-8 -*- from __future__ import unicode_literals import os BASE_DIR = os.path.abspath( os.path.join(os.path.dirname(__file__), "..") ) MEDIA_ROOT = os.path.join(BASE_DIR, "myproject", "media") STATIC_ROOT = os.path.join(BASE_DIR, "myproject", "static") STATICFILES_DIRS = ( os.path.join(BASE_DIR, "myproject", "site_static"), ) TEMPLATE_DIRS = ( os.path.join(BASE_DIR, "myproject", "templates"), ) LOCALE_PATHS = ( os.path.join(BASE_DIR, "locale"), ) FILE_UPLOAD_TEMP_DIR = os.path.join( BASE_DIR, "myproject", "tmp" )
How it works…
At first, we define BASE_DIR
, which is an absolute path to one level higher than the settings.py
file. Then, we set all the paths relative to BASE_DIR
using the os.path.join
function.
See also
- The Including external dependencies in your project recipe
- Python數(shù)據(jù)分析基礎(chǔ)
- Java技術(shù)手冊(cè)(原書第7版)
- Mastering OpenCV 4
- 量化金融R語(yǔ)言高級(jí)教程
- D3.js 4.x Data Visualization(Third Edition)
- Oracle從入門到精通(第5版)
- Nginx實(shí)戰(zhàn):基于Lua語(yǔ)言的配置、開發(fā)與架構(gòu)詳解
- Create React App 2 Quick Start Guide
- 從零開始學(xué)Linux編程
- Mastering AWS Security
- Modern C++ Programming Cookbook
- Hands-On Neural Network Programming with C#
- Visual Basic程序設(shè)計(jì)(第三版)
- Web App Testing Using Knockout.JS
- C#面向?qū)ο蟪绦蛟O(shè)計(jì)(第2版)