如何在Django settings.py中配置django-neomodel的Neo4j连接参数?
Django + django-neomodel 配置位置说明
嘿,刚好我之前也折腾过django-neomodel和Neo4j的配置,给你唠唠这个事儿~
首先明确说:技术上随便放settings.py里任何位置都能生效,因为Django会加载整个文件里的全局变量。但从代码可维护性和团队协作的角度,绝对不建议这么做,最好把它归类到逻辑相关的配置区块里,原因如下:
- 方便后续自己或其他开发者查找:当你过几个月回头看代码,或者新同事接手时,能快速找到数据库相关的配置,不用在整个settings文件里瞎翻。
- 符合Django配置的约定俗成:大家习惯把同类配置放在一起,比如数据库配置、第三方库配置、环境变量配置等。
推荐的放置位置
我通常会选以下两个位置之一:
和Django原生数据库配置(DATABASES)放在一起
毕竟都是数据库相关的配置,逻辑上归为一类最合理,比如:# Django原生数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } # django-neomodel 连接Neo4j的配置 NEOMODEL_NEO4J_BOLT_URL = os.environ.get('NEO4J_BOLT_URL', 'bolt://neo4j:test@localhost:7687')和其他环境变量加载的配置放在一起
因为你用了os.environ.get()来读取环境变量,那把它和其他同样从环境变量取值的配置(比如SECRET_KEY、DEBUG)放在一块也很合适:# 从环境变量加载的核心配置 SECRET_KEY = os.environ.get('SECRET_KEY', 'your-default-secret-key') DEBUG = os.environ.get('DEBUG', 'False').lower() == 'true' # Neo4j连接配置 NEOMODEL_NEO4J_BOLT_URL = os.environ.get('NEO4J_BOLT_URL', 'bolt://neo4j:test@localhost:7687')
小提醒
别忘了确认你的settings.py开头已经导入了os模块哦,不然os.environ.get()会报错。如果还没加,在文件顶部加上:
import os
内容的提问来源于stack exchange,提问作者RickSancheez
相关产品推荐
相关产品推荐

