I'm trying import models from my Django project to another project. I found two solutions: first using os.environ['PYTHONPATH'] and second using sys.path.append(). My project structure:
-Project1(Django Project)
- mysite
- settings.py
- ...
- app1
- models.py
- ...
Project2(no Django Project)
- test
- dog.py
And in dog.py file:
import sys
import os
sys.path.append("/home/jack/workspace/Project1/mysite")
os.environ['DJANGO_SETTINGS_MODULE'] ="mysite.settings"
from app1 import models
But console show me:
from app1 import models
ImportError: No module named app1
You seem to be adding path to mysite
package, not Project1
. But app1
is located in Project1
, so Python can't find it.
Try this:
sys.path.append("/home/jack/workspace/Project1")
From your drawing, app1
is a sibling to mysite
—that is, it's in /home/jack/workspace/Project1/app1/
, not /home/jack/workspace/Project1/mysite/app1/
.
So, sys.path.append("/home/jack/workspace/Project1/mysite")
isn't going to do you any good; you need `sys.path.append("/home/jack/workspace/Project1/")'.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.