python - context_processors.py:文件路径?
问题描述
我在我的 settings.py 中声明的一个应用程序中有一个 context_processors.py 文件,它可以工作。但是,由于 context_processors.py 文件的数据对所有项目都是通用的,我想在我的项目的根目录中声明它,但文件无法识别......
当前项目的架构
- myproject
- 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
- myproject
- context_processors.py
- myapp
我应该如何在 settings.py 中声明我的 context_processors.py 文件?我尝试使用 os.path.join(BASE_DIR,'context_processors.data_context_processor') 但它不起作用......
解决方案
使用 python 模块/包点表示法
'context_processors': [
'myproject.context_processors.data_context_processor',
...
]
来源:https ://docs.python.org/3/reference/import.html#packages
推荐阅读
- cookies - 如果 API 位于不同的子域,Safari 13+ 会阻止第三方 cookie
- android - 添加新的 LiveData 项时适配器不会更新
- javascript - MongoError:拓扑已关闭,请连接(client.close 和 client.connect 问题)
- apache-kafka - Kafka 日志未在给定的保留时间内存储
- jetbrains-ide - GoLand:将终端移动到编辑器的快捷方式
- visual-studio-code - 按 Enter 时 vs 代码无法正常工作
- javascript - Javascript - 如何在多个模块中定义一个类?
- sas - 如何对 SAS 输出中的列使用 proc 格式
- azure - Set-AzKeyVaultAccessPolicy:在租户中找不到 Active Directory 对象“”
- javascript - 如何在 postgres 上使用 typeorm 进行查询?