2
我试图用“manage.py shell”加载下面的Python文件。 manage.py脚本位于父目录中,我使用包含该脚本的目录中的execfile('forms.py')。manage.py shell和相对导入
from django.forms import ModelForm
from .models import Profile
class ProfileSearchForm(ModelForm):
class Meta:
model = Profile
fields = ['name']
失败的原因是明确的相对进口:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "forms.py", line 2, in <module>
from .models import Profile
ImportError: No module named models
,但如果我切换到隐相对进口,它的工作原理:
from django.forms import ModelForm
from apps.myprofile.models import Profile
class ProfileSearchForm(ModelForm):
class Meta:
model = Profile
fields = ['name']
我的问题是,我认为,明确的相对进口是好东西(见两勺),我仍然认为他们是。
但现在我需要一个解决manage.py的解决方法。
我得到一个“没有这样的文件或目录”的错误。当我输入: import os print(os.getcwd()+“\ n”) 我得到包含Python源文件的目录。另外,我正在使用“execfile('forms.py')”,它从包含forms.py的目录执行。 – highpost
我很抱歉在'os.chdir'中给出了错误的路径。 – defool