简单创建一个Django项目并配置neo4j数据库

创建项目,项目的文件夹就是项目的名称

创建项目的基本框架

安装djangorestframework

单击运行 查看浏览器运行效果:

运行效果如下:

创建应用(假如说是创建一个名为myapp的应用):

bash 复制代码
python manage.py startapp myapp

创建之后的项目目录应该是这样的:

bash 复制代码
myproject/
│
├── myproject/
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
│
├── myapp/
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── models.py
│   ├── tests.py
│   ├── views.py
│   └── migrations/
│       └── __init__.py
│
└── manage.py

安装了 django、neomodel 和 django - neomodel库来配置数据库连接

bash 复制代码
pip install django neomodel django-neomodel

配置 INSTALLED_APPS

打开项目的 settings.py 文件,将 django_neomodel 添加到 INSTALLED_APPS 列表中:

bash 复制代码
INSTALLED_APPS = [
    # ...
    'django_neomodel',
    'myapp',
    # ...
]

配置 Neo4j 连接信息

settings.py 文件中添加 Neo4j 的连接配置。可以使用 NEOMODEL_NEO4J_BOLT_URL 来指定连接字符串,示例如下:

bash 复制代码
# 配置 Neo4j 的连接信息
NEOMODEL_NEO4J_BOLT_URL = 'bolt://<username>:<password>@<host>:<port>'
<username>:Neo4j 数据库的用户名,默认是 neo4j。
<password>:Neo4j 数据库的密码。
<host>:Neo4j 数据库服务器的地址,若在本地运行,通常是 localhost。
<port>:Neo4j 数据库的端口,默认的 Bolt 端口是 7687。

配置 Django 启动时初始化 Neo4j 连接

在 myproject/init.py 文件中添加以下代码,确保在 Django 启动时初始化 Neo4j 连接:

bash 复制代码
import neomodel

from django.conf import settings

neomodel.config.DATABASE_URL = settings.NEOMODEL_NEO4J_BOLT_URL

现在我们编写视图函数 这个函数用来测试是否连接到neo4j数据库

bash 复制代码
from neomodel import db
from django.http import JsonResponse

def test_neo4j_connection(request):
    try:
        # 执行 Cypher 查询,这里简单查询所有节点
        results, meta = db.cypher_query("MATCH (n) RETURN n LIMIT 10")
        data = []
        for record in results:
            node = record[0]
            node_data = dict(node.items())
            data.append(node_data)
        return JsonResponse({'data': data})
    except Exception as e:
        return JsonResponse({'error': str(e)}, status=500)

为了能够访问这个视图函数,你需要在应用的 urls.py 文件(如果没有则需要创建)中配置 URL 映射,以及在项目的 urls.py 文件中包含应用的 URL 配置。

在 myapp 目录下创建 urls.py 文件,并添加以下代码:

bash 复制代码
from django.urls import path
from .views import test_neo4j_connection

urlpatterns = [
    path('test_neo4j_connection/', test_neo4j_connection, name='test_neo4j_connection'),
]

配置项目的 urls.py

打开 myproject/urls.py 文件,将应用的 URL 配置包含进来,示例如下:

bash 复制代码
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('myapp.urls')),  # 这里的 'api/' 是自定义的前缀,你可以根据需要修改
]

最后运行项目 浏览器页面中出现已经接收到的json信息就说明连接成功了

相关推荐
XiaoMu_0014 分钟前
【MongoDB与MySQL对比】
数据库
做科研的周师兄41 分钟前
【机器学习入门】1.2 初识机器学习:从数据到智能的认知之旅
大数据·数据库·人工智能·python·机器学习·数据分析·机器人
qq_364371721 小时前
基于 Redis + JWT 的跨系统身份共享方案
数据库·redis
技术与健康2 小时前
LLM实践系列:利用LLM重构数据科学流程04 - 智能特征工程
数据库·人工智能·重构
007php0072 小时前
Jenkins+docker 微服务实现自动化部署安装和部署过程
运维·数据库·git·docker·微服务·自动化·jenkins
北极糊的狐2 小时前
MySQL常见报错分析及解决方案总结(1)---Can‘t connect to MySQL server on ‘localhost‘(10061)
数据库·mysql
SelectDB3 小时前
2-5 倍性能提升,30% 成本降低,阿里云 SelectDB 存算分离架构助力波司登集团实现降本增效
大数据·数据库·数据分析
SelectDB3 小时前
湖仓一体:小米集团基于 Apache Doris + Apache Paimon 实现 6 倍性能飞跃
数据库·开源·github
Hello.Reader3 小时前
Kafka 在 6 大典型用例的落地实践架构、参数与避坑清单
数据库·架构·kafka
数巨小码人4 小时前
AI+数据库:国内DBA职业发展与国产化转型实践
数据库·人工智能·ai·dba