找不到 Django 项目错误

Posted

技术标签:

【中文标题】找不到 Django 项目错误【英文标题】:Django project not found Error 【发布时间】:2014-05-13 15:24:23 【问题描述】:

我收到错误:当我尝试在下面运行我的 bash 脚本时找不到 django 项目,为什么?

这可行:gunicorn wsgi:application -b 127.0.0.1:8003

这个错误:bash start_gunicorn.sh

start_gunicorn.sh:

#!/bin/bash

set -e

LOGFILE=/srv/domain/logs/domain.log

ERRORFILE=/srv/domain/logs/error.log

LOGDIR=$(dirname $LOGFILE)

NUM_WORKERS=3

#The below address:port info will be used later to configure nginx with Gunicorn

ADDRESS=127.0.0.1:8003

# user/group to run as

#USER=your_unix_user

#GROUP=your_unix_group

cd /srv/domain

test -d $LOGDIR || mkdir -p $LOGDIR

exec gunicorn_django -w $NUM_WORKERS --bind=$ADDRESS \

--log-level=debug \

--log-file=$LOGFILE 2>>$LOGFILE  1>>$ERRORFILE  &

我需要告诉它项目在哪里吗?这是什么设置?

堆栈:

  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/djangoapp.py", line 62, in make_default_env
    raise RuntimeError("django project not found")
RuntimeError: django project not found
2014-04-02 10:13:56 [1038] [INFO] Worker exiting (pid: 1038)
Traceback (most recent call last):
  File "/usr/local/bin/gunicorn_django", line 9, in <module>
    load_entry_point('gunicorn==18.0', 'console_scripts', 'gunicorn_django')()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/djangoapp.py", line 160, in run
    DjangoApplication("%(prog)s [OPTIONS] [SETTINGS_PATH]").run()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/base.py", line 143, in run
    Arbiter(self).run()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 203, in run
    self.halt(reason=inst.reason, exit_status=inst.exit_status)
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 298, in halt
    self.stop()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 341, in stop
    self.reap_workers()
  File "/usr/local/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 452, in reap_workers
    raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
ubuntu@ip-10-37-235-227:/srv/domain$ sudo nano start_gunicorn.sh

项目文件夹示例:Ubuntu

/srv/domain/manage.py
/srv/domain/wsgi.py
/srv/domain/project_folder/
/srv/domain/project_folder/apps/
/srv/domain/project_folder/core/
/srv/domain/project_folder/core/urls.py

etc

【问题讨论】:

哪一行说明您的项目位置? @Priyank Patel 我会更新 OP @Priyank Patel 那么 bash 脚本中是否需要有一个?这是什么设置? 想知道...gunicorn /srv/domain/wsgi.py 还不够吗? 是的。它可以使用。但是对于生产,你不想每次都执行这个脚本。所以你应该把它放在init.d 作为服务。你可以google一下。 【参考方案1】:

在您的 bash 脚本中,您只需编写以下脚本即可运行 django 项目:

#!/bin/bash
gunicorn /srv/domain/wsgi.py

它将在默认端口中运行。如果要添加日志记录、工作线程和自定义端口,则可以使用 gunicorn cmd 的参数指定。见Gunicorn Ref。

现在在生产中你不想每次都运行这个脚本。所以你可以把它放在 /etc/init.d/ 中。所以它将在启动时运行。见Ref

【讨论】:

以上是关于找不到 Django 项目错误的主要内容,如果未能解决你的问题,请参考以下文章

你好。我在更改 django 项目中显示找不到页面的页面时遇到问题(404)

DJANGO REST API--找不到模块错误

我在 django 模板中显示数据库数据时找不到错误

Django React -- Heroku 上的部署错误(找不到页面 404)

Django url正则表达式匹配但找不到页面错误

使用 Django,当我尝试访问应该存在的页面时,为啥找不到 404 错误页面?