我在我的settings.py中添加了以下几行:

from neomodel import config
import dj_database_url

NEOMODEL_NEO4J_BOLT_URL = 'neo4j+s://xxxxxxx.databases.neo4j.io'
NEOMODEL_SIGNALS = True
NEOMODEL_FORCE_TIMEZONE = False
NEOMODEL_ENCRYPTED_CONNECTION = False
NEOMODEL_MAX_CONNECTION_POOL_SIZE = 50

user = 'neo4j'
psw = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
uri = 'neo4j+ssc://xxxxxxxx.databases.neo4j.io'

DATABASE_URL = 'neo4j+ssc://{}:{}@{}'.format(user, psw, uri)
config.DATABASE_URL = 'neo4j+ssc://{}:{}@{}'.format(user, psw, uri)
DATABASES = {'default': dj_database_url.config(default=DATABASE_URL)}

当我运行python manage.py migrate时,我会发现这个错误:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "S_v1\venv\lib\site-packages\django\core\management\__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "S_v1\venv\lib\site-packages\django\core\management\__init__.py", line 382, in execute
    settings.INSTALLED_APPS
  File "S_v1\venv\lib\site-packages\django\conf\__init__.py", line 102, in __getattr__
    self._setup(name)
  File "S_v1\venv\lib\site-packages\django\conf\__init__.py", line 89, in _setup
    self._wrapped = Settings(settings_module)
  File "S_v1\venv\lib\site-packages\django\conf\__init__.py", line 217, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "C:\Users\P\AppData\Local\Programs\Python\Python38\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 848, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "S_v1\mysite_2\mysite\settings.py", line 102, in <module>
    DATABASES = {'default': dj_database_url.config(default=DATABASE_URL)}
  File "S_v1\venv\lib\site-packages\dj_database_url\__init__.py", line 72, in config
    return parse(
  File "S_v1\venv\lib\site-packages\dj_database_url\__init__.py", line 126, in parse
    raise ValueError(
ValueError: No support for 'neo4j+ssc'. We support: cockroach, mssql, mssqlms, mysql, mysql-connector, mysql2, mysqlgis, oracle, oraclegis, pgsql, postgis, postgres, postgresql, redshift, spatialite, sqlite, timescale, timescalegis

我不想使用Django默认创建的本地数据库. 有没有什么方法可以将我的Django应用程序连接到云托管AuraDB中的图形数据库?

推荐答案

这个设置适用于我,它使用neo4j + s而不是neo4j + ssc.

DATABASE_URL=neo4j+s://neo4j:<awesome_password>@<db_aura_svr>.databases.neo4j.io:7687

您的设置uri ='neo4j + ssc://www.example.com'使用ssc,它启用加密而不进行证书判断,通常用于自签名证书.请删除协议并使用此协议:

uri = 'xxxxxxxx.databases.neo4j.io:7687
config.DATABASE_URL = 'neo4j+s://{}:{}@{}'.format(user, psw, uri)

请看下面的例子:

(venv) josebacoy@users-MBP-2 paradise_papers_search % export DATABASE_URL=neo4j+s://neo4j:<awesome_password>@<db_aura_svr>.databases.neo4j.io:7687
(venv) josebacoy@users-MBP-2 paradise_papers_search % python manage.py runserver --settings=paradise_papers_search.settings.dev

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
March 26, 2024 - 15:44:03
Django version 2.2.24, using settings 'paradise_papers_search.settings.dev'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[26/Mar/2024 15:44:22] "GET / HTTP/1.1" 200 14521
[26/Mar/2024 15:44:22] "GET /fetch/jurisdictions HTTP/1.1" 200 39
[26/Mar/2024 15:44:22] "GET /fetch/datasource HTTP/1.1" 200 39
[26/Mar/2024 15:44:22] "GET /fetch/countries HTTP/1.1" 200 39
[26/Mar/2024 15:44:25] "GET /fetch/count?t=Intermediary&q=&p=0 HTTP/1.1" 200 48
[26/Mar/2024 15:44:25] "GET /fetch/count?t=Officer&q=&p=0 HTTP/1.1" 200 48
[26/Mar/2024 15:44:25] "GET /fetch/count?t=Other&q=&p=0 HTTP/1.1" 200 48
[26/Mar/2024 15:44:25] "GET /fetch/count?t=Entity&q=&p=0 HTTP/1.1" 200 48
[26/Mar/2024 15:44:25] "GET /fetch/count?t=Address&q=&p=0 HTTP/1.1" 200 48
[26/Mar/2024 15:44:25] "GET /fetch/nodes?t=Entity&q=&p=1 HTTP/1.1" 200 48

Python-3.x相关问答推荐

在循环访问XML中的多个层时,xml.etree.Elementree Python3解析器不起作用

使用具有相同索引的多次出现的索引列表更新NumPy数组

与 pandas 0.22 相比,pandas 2.0.3 中的 df.replace() 会抛出 ValueError 错误

将水平堆叠的数据排列成垂直

它们是否同样存储在python3的内存中?

Pytest顺序测试A,然后测试B,然后再测试A

Keras 中 Conv2D 层的意外结果

如何对具有多个列值的 pandas 数据框进行数据透视/数据透视表

提高时间复杂度的一些建议

Jupyter Notebook 拒绝打印一些字符串

考虑到Pandas 系列中的不同索引,如何正确估计两列的百分比变化? Python相关

通过点和线计算CV2 Homography

正则表达式从文本文件中捕获包含制表符/空格和子字符串的部分字符串

从 yahoo Finance python 一次下载多只股票

参数化泛型不能与类或实例判断一起使用

使用逗号时,除了处理程序中的语法无效

无法在 Windows 8 中使用 Python 3.3 找到 vcvarsall.bat

ImportError:无法在 PyQt5 中导入名称QStringList

Python:在 map 对象上调用列表两次

调用 Python doctest 时如何启用省略号?