Python Django can';在Linux中找不到我的型号,但在Windows中可以找到
我对Django还是有点不熟悉,所以请原谅可能的基本问题 我试图部署一个Django项目,但我遇到了一些问题 该项目在Windows上的工作方式完全相同,但我在Ubuntu VPS上遇到了以下错误:Python Django can';在Linux中找不到我的型号,但在Windows中可以找到,python,linux,django,Python,Linux,Django,我对Django还是有点不熟悉,所以请原谅可能的基本问题 我试图部署一个Django项目,但我遇到了一些问题 该项目在Windows上的工作方式完全相同,但我在Ubuntu VPS上遇到了以下错误: Unhandled exception in thread started by <function wrapper at [...]> Traceback (most recent call last): [...] Stack trace from system/django fi
Unhandled exception in thread started by <function wrapper at [...]>
Traceback (most recent call last):
[...]
Stack trace from system/django files
File "/home/django/[Project Name]/apps/sale/admin.py", line 8, in <module>
from .forms import SaleRequestFormAdmin
File "/home/django/[Project Name]/apps/sale/forms.py", line 6, in <module>
from apps.listing.models import Listing
ImportError: No module named listing.models
apps
文件夹包含所有my Django应用程序,与manage.py
和my project文件夹位于同一文件夹中
您可以在列表
应用程序中看到一个名为models.py
的文件
有人知道为什么这在Linux上不起作用吗?我在谷歌上找不到任何相关信息,我真的不知道它为什么会失败
任何帮助都将不胜感激。我认为问题在于
应用程序
路径不在您的系统
路径中
尝试在settings.py文件中添加以下内容:
import os
import sys
PROJECT_ROOT = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(PROJECT_ROOT, 'apps'))
如果有帮助,请告诉我 您是否已将列表添加到settings.py文件中的已安装应用程序设置中?我已将列表添加到settings.py文件中的APPS.listing。它是在settings文件中还是在其中一个应用程序文件中?在您的情况下,PROJECT\u ROOT的值是多少?
/home/django/[PROJECT Name]/[PROJECT Folder]/设置
My settings(我的设置)文件位于它自己的文件夹中,设置了_init__uuu以根据环境导入正确的文件。在这种情况下,我认为您应该使用BASE_DIR。syspath应该有你的apps文件夹的路径,我会工作的。我个人使用我的django应用程序的apps文件夹,我使用这种方法
import os
import sys
PROJECT_ROOT = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(PROJECT_ROOT, 'apps'))