我正在尝试在neo4j
服务器上托管的django
网站上使用Apache
数据库。我正在使用neo4django
。我遵循了http://neo4django.readthedocs.org/en/v0.1.8/index.html中给出的指示。在创建节点时,我收到以下错误:
error at /disk/ [Errno 111] Connection refused Request
我的models.py:
import django.db
from neo4django.db import models
class Person(django.db.models.Model):
name = django.db.models.CharField(max_length=50, null=True, blank=True)
username = django.db.models.CharField(max_length=50, null=True, blank=True)
password=django.db.models.CharField(max_length=50, null=True, blank=True)
email=django.db.models.CharField(max_length=50, null=True, blank=True)
class Meta:
db_table='lt_profile'
class Pnode(models.NodeModel):
name=models.StringProperty()
#more fields
class Anode(models.NodeModel):
art_type=models.StringProperty(max_length=50)
mtime=models.StringProperty(max_length=200)
#relation:
我的settings.py:
NEO4J_DATABASES = {
'default' : {
'HOST':'localhost',
'PORT': 7474,
'ENDPOINT':'/var/www/graph_db'
}
}
DATABASE_ROUTERS = ['neo4django.utils.Neo4djangoIntegrationRouter']
错误发生的代码:
a = Anode.objects.create(art_type='py', mtime=str(file_mtime))
a.save()
我想我需要在Apache的port.conf
文件中更改一些内容,但我不知道应该怎么做。我尝试过这样的事情:
在ports.conf
中收听7474,但没有运气。任何帮助将不胜感激。感谢
答案 0 :(得分:1)
@Wes在评论中是正确的 - 您的端点应设置为相对URL,而不是文件路径。
From the docs,试试'ENDPOINT':'/db/data'
,这是Neo4j的默认设置。
编辑:
其他一些建议:
您绝对不需要在Apache配置中添加任何内容。 Apache从Django提供您的内容,但不控制您可以从Django访问哪些端口 - 其配置文件仅涵盖外部用户可以访问的端口。实际上,如果Apache配置为侦听7474并且它与Neo4j位于同一服务器上,则其中一个将无法使用该端口。
在您的代码中,您使用a = Anode.objects.create(...)
后跟a.save()
。 Anode.objects.create()
是
a = Anode(...)
a.save()
所以你实际上节省了两次。我会使用其中一个来避免更频繁地访问数据库。