2017-03-01 51 views
0

我对Django有点不熟悉,所以请原谅可能的基本问题。Django无法在Linux中找到我的模型,但可以在Windows中运行

我试图部署一个Django项目,但我遇到了一些问题。

该项目工程完全按照它应该在Windows,不过我让我的Ubuntu的VPS这样的错误:

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 
│ ├── [...] 
│ ├── listing 
│ │ ├── admin.py 
│ │ ├── api.py 
│ │ ├── apps.py 
│ │ ├── forms.py 
│ │ ├── __init__.py 
│ │ ├── migrations 
│ │ │ ├── [...] 
│ │ ├── models.py 
│ │ ├── tests.py 
│ │ └── views.py 
│ ├── sale 
│ │ ├── admin.py 
│ │ ├── api.py 
│ │ ├── apps.py 
│ │ ├── forms.py 
│ │ ├── __init__.py 
│ │ ├── migrations 
│ │ │ ├── [...] 
│ │ ├── models.py 
│ │ ├── tests.py 
│ │ └── views.py 
├── __init__.py 
├── [Project Name] 
│ ├── __init__.py 
│ ├── settings.py 
│ ├── urls.py 
│ └── wsgi.py 
├── manage.py 

apps文件夹包含所有我的Django的应用程序,并且是在同一个文件夹中manage.py和我的项目文件夹。

你可以看到有文件在listing应用程序称为models.py

有没有人有任何想法为什么这不适用于Linux?我在Google上找不到任何相关信息,我真的不知道它为什么失败。

任何帮助将不胜感激。

+0

您是否已将列表添加到settings.py文件中的INSTALLED_APPS设置中? –

+0

我有'apps.listing'。 – Richie378

回答

-1

我认为这个问题是apps路径是不是在你的sys路径

尝试增加你的settings.py文件如下:

import os 
import sys 

PROJECT_ROOT = os.path.dirname(__file__) 
sys.path.insert(0, os.path.join(PROJECT_ROOT, 'apps')) 

我们知道,如果有帮助!

+0

会在'settings.py'文件或其中一个应用程序文件中吗?设置文件中的 – Richie378

+0

。 –

+0

它似乎没有帮助。还是一样的错误。 – Richie378

相关问题