context_processors.py:文件路径?

问题描述 投票:0回答:1

我在我的settings.py中声明的一个应用程序中有一个context_processors.py文件,它可以正常工作。但是,由于context_processors.py文件的数据对于所有项目都是通用的,因此我想在项目的根目录中声明它,但无法识别文件...

当前项目的架构

- myproject
- myapp
  - context_processors.py

在settings.py中声明如下:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(BASE_DIR,'registration/templates'),
            os.path.join(BASE_DIR,'templates'),
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'myapp.context_processors.data_context_processor',    <********************
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

预期项目的架构

- myproject
  - context_processors.py
- myapp

我应该如何在settings.py中声明我的context_processors.py文件?我尝试使用os.path.join(BASE_DIR,'context_processors.data_context_processor'),但是它不起作用...

python django
1个回答
0
投票

使用python模块/软件包点符号

'context_processors': [
    'myproject.context_processors.data_context_processor',    
    ...
]

来源:https://docs.python.org/3/reference/import.html#packages

© www.soinside.com 2019 - 2024. All rights reserved.