我正在尝试使用托管在Apache服务器上的django网站上的neo4j数据库。我正在使用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,但没什么好结果。任何帮助都将不胜感激。谢谢
发布于 2013-07-11 11:21:55
@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()所以你实际上省了两次钱。我会使用其中的一个,以避免不必要的频繁访问数据库。
https://stackoverflow.com/questions/17564811
复制相似问题