簡體   English   中英

使用WSGI部署Django:應用導入錯誤

[英]Deploying Django with WSGI: App Import Error

我是Apache,Linux和Python世界的新手。 我正在嘗試使用WSGI(推薦方式)在apache上部署django應用程序。

我的django項目目錄結構如下...

  • /
  • /apache/django.wsgi
  • / apps /#我將所有應用都放在此目錄中
  • / apps / providers /
  • / apps / shopping /
  • /應用/...
  • /中間件/
  • ...

在apache中,我有以下設置...。

LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / D:/Projects/project-name/apache/django.wsgi

<Directory "D:/Projects/project-name/apache/">
  Allow from all
  Order deny,allow
</Directory>

django.wsgi文件具有以下代碼...

import os
import sys
import settings

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')

os.environ['DJANGO_SETTINGS_MODULE'] = 'project_name.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

在運行時,我在appache的error.log中發現了此錯誤...

  • 該行發生錯誤。 從apps.providers.models導入提供程序
  • 導入錯誤:沒有名為providers.models的模塊

我不知道為什么會給我這個錯誤。 它應該已經從apps.providers.models加載了Provider,但是正在嘗試從provider.model加載它。

任何解決方案將不勝感激。

謝謝

嘗試這個:

sys.path.insert(0, os.path.join(os.path.abspath(os.path.dirname(__file__)),'..'))

它將項目文件夾放在第一個位置,並使用os.path.join向上一個目錄(在Windows上可能更好)。

可能是因為您的python路徑上還有另一個“應用程序”模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM