所以这似乎是这个设置的一个非常普遍的问题,但我找不到任何适用于SO的解决方案.我已经设置了一个非常新的Ubuntu 15.04服务器,然后安装了nginx,virtualenv(和-wrapper)和uWSGI(通过apt-get,所以全局,不在virtualenv中).
我的virtualenv位于/root/Env/example.在virtualenv里面,我安装了Django,然后在/ srv/www/example/app startproject用项目名称运行Django的命令example,所以我隐约有这个结构:
-root
-Env
-example
-bin
-lib
-srv
-www
-example
-app
-example
manage.py
-example
wsgi.py
...
Run Code Online (Sandbox Code Playgroud)
我的uWSGI的example.ini文件如下所示:
[uwsgi]
project = example
plugin = python
chdir = /srv/www/example/app/example
home = /root/Env/example
module = example.wsgi:application
master = true
processes = 5
socket = /run/uwsgi/app/example/example.socket
chmod-socket = 664
uid = www-data
gid = www-data
vacuum = true
Run Code Online (Sandbox Code Playgroud)
但无论我是uwsgi --ini /etc/uwsgi/apps-enabled/example.ini通过守护进程还是通过守护进程运行,我都会得到完全相同的错误:
Python version: 2.7.9 (default, Apr 2 2015, 15:37:21) [GCC 4.9.2]
Set PythonHome to …Run Code Online (Sandbox Code Playgroud) 假设一个类似于这个的Django模型:
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.PROTECT)
name = models.CharField(max_length=255)
other_alias = models.CharField(blank=True,null=True,max_length=255)
@property
def profile_name(self):
if self.other_alias:
return self.other_alias
else:
return self.name
Run Code Online (Sandbox Code Playgroud)
我正在使用Graphene-Django这个项目,我成功地创建了一个描述Profile类型的模式,并且可以通过GraphQL查询正确访问它.但是,我无法看到任何可以使该属性可用的方式.
假设我应该从我的Django模型中删除所有属性风格的逻辑,而只是将GraphQL与模型中的原始信息一起使用,然后在我使用GraphQL数据的地方(例如,在反应使用它的应用程序)?
我为一个论坛设置了一个相当简单的Django,每个线程都有一个最基本的模型:
class Post(models.Model):
created = models.DateTimeField(auto_now_add=True)
last_reply = models.DateTimeField(auto_now_add=True, blank=True, null=True)
username = models.ForeignKey(User, related_name="forumuser")
fixed = models.BooleanField(_("Sticky"), default=False)
closed = models.BooleanField(default=False)
markdown_enabled = models.BooleanField(default=False)
reply_count = models.IntegerField(default=0)
title = models.CharField(_("Title Post"), max_length=255)
content = models.TextField(_("Content"), blank=False)
rating = models.IntegerField(default=0)
followers = models.IntegerField(default=0)
ip_address = models.CharField(max_length=255)
def __unicode__(self):
return self.title
def get_absolute_url(self):
return "/post/%s/" % self.id
Run Code Online (Sandbox Code Playgroud)
然后我们有一些回复:
class PostReply(models.Model):
user = models.ForeignKey(User, related_name='replyuser')
post = models.ForeignKey(Post, related_name='replypost')
created = models.DateTimeField(auto_now_add=True)
content = models.TextField()
ip_address = models.CharField(max_length=255)
quoted_post = models.ForeignKey('self', related_name='quotedreply', …Run Code Online (Sandbox Code Playgroud)