2017-08-02 90 views
0

如果我想使用額外的文件中的一些模型,我的Django項目,我不能這樣簡單的方式做到這一點:如何在Django項目中的額外模塊中正確導入模型?

from myproject_app.models import * 

,因爲我得到這個錯誤:

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. 

爲了解決這個問題,我發現這個解決方案:

import os 
import django 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings") 
django.setup() 
from myproject_app.models import * 

好的。有用。但是,如果我想在models.py項目中使用這個額外文件中的任何功能,則根本無法啓動!

請幫幫我。

+0

添加您的setting.py代碼 – badiya

+0

您需要展示如何運行這個「額外的文件」。 –

回答

0

我想你忘記了註冊在您的應用程序,

INSTALLED_APPS = (
    myproject_app, 
) 
+0

我沒忘記,所以我不明白問題的原因 –

+0

你是從終端運行嗎?或wsgi? –

+0

從測試模式下的終端 –

0

添加您創建INSTALLED_APPS的所有應用程序,並作爲PEP8觀點從來沒有「*」導入所有的車型,而不是通過其名稱分別導入您正在使用

0

models.py你使用一些需要配置的django類,所以沒有django設置它不能正常工作。如果你想使用任何常用函數,可能更好的方法是創建python模塊並導入模型或在任何地方使用?