- 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
- Learning ROS for Robotics Programming(Second Edition)
- Java虛擬機字節碼:從入門到實戰
- Mastering LibGDX Game Development
- Visual Basic程序設計與應用實踐教程
- 精通網絡視頻核心開發技術
- 基于Swift語言的iOS App 商業實戰教程
- SQL Server實用教程(SQL Server 2008版)
- QlikView Unlocked
- 算法秘籍
- JavaScript語法簡明手冊
- Web前端開發技術實踐指導教程
- Laravel 5.x Cookbook
- Scala實用指南
- Learning Unity Physics
- PHP面試一戰到底